Spring Autowired注入怎么不管用啊?

我在一个类里加了@bean注解
@Configuration
public class DatabaseConfiguration{
public @Bean JdbcTemplate jdbcTemplate() {
return new JdbcTemplate(dataSource());
}
}

服务器启动的时候会注入到下面的代码,传入template值。下面的代码在dao里面:
private JdbcTemplate jdbcTemplate;
@Autowired
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
但是我再到controller里面调用dao的时候,调用任何方法,上面的template都是null,也就是在进入dao的时候注入就没有了。这是怎么回事?

第1个回答  推荐于2017-10-06
1、controller 怎么会调用dao?

正确应该是controller调用service,service调用dao

2、首先确定你的spring文件里面已经加上启用注解的模式,默认是不启用的,
<context:annotation-config />
如果是springmvc,<mvc:annotation-driven />
再确定你是否已经加上扫描文件的配置
<context:component-scan base-package=""></context:component-scan>
3、再确定controller,service,dao三层都已经在类上面标注对于的注解@Controller、@Service、@Repository

因为不确定你的具体配置,只能先给你排除一般出现这种问题的情况了。本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网