那么,当@configuration类完全执行时,它的范围是什么?
每个会话一个吗?每个应用程序一个?但我的下一个问题是bean在执行后返回到哪里?也许这段代码可以帮助您更好地理解我的意思。
@Configuration
@PropertySource("classpath:application.properties")
public class AppConfig {
@Autowired
Environment env;
@Bean
public DBConnection testBean() {
DBConnection testBean = new DBConnection();
testBean.setName(env.getProperty("testbean.name"));
return testBean;
}
}
这个DBConnection什么时候有效/启动?
答案 0 :(得分:2)
@Configuration
带注释的类只是一个用@Configuration
注释注释的类。它本身没有任何作用。
您需要评估和处理课程。这是通过引导来完成的。你有三个选择
AnnotationConfigApplicationContext
实例注册课程。<bean>
在XML配置中将该类指定为ApplicationContext
。javadoc详细介绍了这些选项,并在Spring IOC documentation中详细介绍了这些选项。
您在@Configuration
课程中声明的豆只与其相应的范围一样长。您的testBean
bean具有单一范围,因此只要包含ApplicationContext
。