【发布时间】:2014-10-03 17:17:22
【问题描述】:
我知道 springs AnnotationConfigApplicationContext 不仅能够接受 @Configuration 类作为输入,还能够接受普通的 @Component 类和使用 JSR-330 元数据注释的类。
我在下面创建了没有@Configuration 注释的 AppConfig.java。
public class AppConfig {
@Bean(name="sampleService")
public SampleService getSampleService(){
return new SampleService();
}
}
将这个类作为我的 java 配置类传递给AnnotationConfigApplicationContext,它接受并注册了我的服务 bean。
我对上面相同的 AppConfig 做了一些修改,如下所示。
@Component
public class AppConfig {
@Bean(name="sampleService")
public SampleService getSampleService(){
return new SampleService();
}
}
将 AppConfig 传递给 AnnotationConfigApplicationContext,它接受并注册了我的服务 bean。
问题:
-
李>AnnotationConfigApplicationContext类接受带有@Configuration、没有@Configuration和带有@Component 注释的java 配置类,@Component和@Configuration有什么区别? 为什么即使没有
@Configuration注释也接受?什么时候用
@Configuration,什么时候用@Component作为java配置类?
【问题讨论】:
标签: java spring configuration