strut2的action里面:
[code="java"]
@Namespace("/acctuser")
@Results( { @Result(name = CrudActionSupport.OK, location = "acctuser",type="chain") })
@Component("acctuser")
@Scope("prototype")
@SuppressWarnings("serial")
public class AcctuserAction extends CrudActionSupport {
@Autowired
private IAcctUserService iAcctUserService;
[/code]
service里面:
[code="java"]
@Service("iAcctUserService")
@Transactional
public class AcctUserService implements IAcctUserService{
@Autowired
private IAcctUserDao iAcctUserDao;
[/code]
dao里面:
[code="java"]
@Repository("iAcctUserDao")
public class AcctUserDao extends BaseDao implements IAcctUserDao{
public boolean login(String uname, String upass) {
String sql = "select count(*) from acct_user where login_name='"
+ uname + "' and password='" + upass + "'";
int count=jdbcTemplate.queryForInt(sql);
if(count>0){
return true;
}
return false;
}
[/code]
basedao:
[code="java"]
public class BaseDao {
@Autowired
public JdbcTemplate jdbcTemplate;
[/code]
application.xml里面
[code="java"]
classpath*:/util.properties
<!-- 使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入 -->
<context:component-scan base-package="com.jw" />
<!-- 数据源配置,使用应用内的DBCP数据库连接池 -->
<bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${mysql.driver}" />
<property name="url" value="${mysql.url}" />
<property name="username" value="${mysql.username}" />
<property name="password" value="${mysql.password}"></property>
</bean>
<!-- 使用annotation定义事务 -->
<tx:annotation-driven proxy-target-class="true" />
<bean name="jdbcTemplet" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
[/code]
[quote]有注解了还需要有get和set方法吗? [/quote]
你这种情况是需要的,其实注解的底层也是通过你的标识,反射出实现类,然后调用set方法注入进去的,你试试就知道了。
出什么错了
iAcctUserService这个有get set 方法吗
1,重启没
2,你是模仿网上的做的?
application.xml里面 还写了什么没有估计你Spring没有注入进去
感觉你代码不全 意思都明白不知道你怎么写的 你是想用注解的方式传值的吧那不需要用get set器了