我在Spring项目中有几个java配置类,如下所示(为简化起见进行了修改)。 首先是dao的配置类。
@Configuration
public class DaoConfig {
@Bean
public Dao dao() {
return DaoImpl();
}
}
然后,服务配置类将导入此DaoConfig类。
@Configuration
@Import({
DaoConfig.class
})
public class ServiceConfig {
@Autowire
private Dao dao;
@Bean
public Service1 service1() {
return Service1Impl(dao);
}
@Bean
public Service2 service2(Dao dao) {
return Service2Impl(dao);
}
}
据我了解,service1和service2应该没有任何区别。但是,在Service1中,dao对象为null(Service2正常工作)。 我进行了搜索,并提出了一些答案
属性是在创建bean之后注入的。
是因为首先创建了Bean,然后在ServiceConfig中将dao自动连接了?