08.配置类

Spring Boot 支持基于Java的配置。虽然可以将 SpringApplication 与 XML 配置文件一起使用,但是我们通常建议你使用 @Configuration 类来定义配置信息;通常定义main 方法的类是一个很好的作为主要@Configuration 的候选类。

网络上已经有很多使用XML配置的Spring案例,如果可能的话,将这些案例尝试使用基于Java配置的形式来实现。在网络上搜索Enable*注解是一个很好的起点。

导入额外的配置类

您不必将所有 @Configuration 都放在一个类中,可以使用 @Import 注解导入其他配置类,或者,您可以使用@ComponentScan 自动扫描所有 Spring 组件,包括 @Configuration类。

@Import注解

@Import 注解相当于 XML 配置中的 <import> 标签,可以导入其他配置文件中的配置,避免所有配置都写在一个配置文件或配置类中。该注解也可以将普通的类声明为一个bean。

定义类
1
2
3
public class DemoService {

}
将类声明为Bean
1
2
3
4
5
@Configuration
@Import(DemoService.class)
public class DemoConfiguration {

}

这样Spring容器启动时就会将DemoService类加载到容器中

输入图片说明

@Import(DemoService.class)这种写法的效果和 @Bean 的效果相同

导入XML配置

如果您必须使用基于 XML 的配置,我们建议您仍然从 @Configuration 类开始。 然后可以使用@ImportResource 注解加载 XML 配置文件,将XML中配置的类和属性加载到容器中。

1
2
3
4
5
@Configuration
@ImportResource(locations={"classpath:applicationContext.xml"})
public class XmlConfiguration {

}