我在代码库中找到了这段代码。实际上是班级:
package my.services.config;
@Configuration
@ImportResource("classpath:spring/*.xml")
@ComponentScan("my.services.jms.server")
public class MyServicesConfiguration {
@Bean
public ApplicationLifecycle lifecycle() {
return new MyServicesLifecycle();
}
}
我想了解: 因此,它在开始之前/同时使用所有spring / * .xml文件/ bean,然后将ApplicationLifecycle bean注入spring上下文(以及来自spring / * xml的其他bean以及来自'my.services.jms.server的bean) '包裹)。所以,最后我们将有一个全局上下文与所有bean(?)
问题:如何启动此应用程序(如果我理解这个类只是应用程序的一个入口点)?
这将是一些主要的(String [] args){}函数,它可以通过'my.services.config'路径启动它,比方说,作为参数。
答案 0 :(得分:1)
所以,最后我们将有一个全局上下文与所有bean(?)
没错。从Spring角度来看@Configuration
类只是一种定义bean的不同方式,相当于XML。 Java配置和XML配置都会在以后合并和处理。
这就是你可以通过main()
:
ApplicationContext ctx =
new AnnotationConfigApplicationContext(MyServicesConfiguration.class);
以后:
ApplicationLifecycle applicationLifecycle =
ctx.getBean(ApplicationLifecycle.class);