Wetts's blog

Stay Hungry, Stay Foolish.

0%

依赖注入-基于Java类的配置-启动Spring容器

直接通过Configuration类启动Spring容器

Spring提供了一个AnnotationConfigApplicationContext类,它能够直接通过标注@Configuration的Java类启动Spring容器

1
ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConf.class);

AnnotationConfigApplicationContext还支持通过编码的方式加载多个@Configuration配置类

1
2
3
4
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
ctx.register(DaoConfig.class);
ctx.register(ServiceConfig.class);
ctx.refresh(); // 刷新容器以应用这些注册的配置类

你也可以通过代码一个一个注册配置类,也可以通过@Import将多个配置类组装到一个配置类中,这样仅需要注册这个组装好的配置类就可以启动容器了

1
2
@Configuration
@Import(DaoConfig.class)

通过XML配置文件引用@Configuration的配置

标注了@Configuration的配置类本身相当于一个标注了@Component的类一样也是一个Bean,它可以被Spring的<context:component-scan>扫描到。

通过Configuration配置类引用XML配置信息

在@Configuration配置类中可通过@ImportResource引入XML配置文件,在配置类中即可直接通过@Autowired引入XML配置文件中定义的Bean

1
2
@Configuration
@ImportResource("classpath:com/wetts/applicationContext.xml")