简介
这个注解很简单,就是导入spring的xml配置文件
直接来看spring官方文档:
In applications where
@Configuration
classes are the primary mechanism for configuring the container, it will still likely be necessary to use at least some XML. In these scenarios, simply use@ImportResource
and define only as much XML as is needed. Doing so achieves a "Java-centric" approach to configuring the container and keeps XML to a bare minimum.
当我们使用java配置类的时候,比如springboot工程,就推荐使用java配置类,理论上我们可以完全消除xml配置文件,但是有时候我们需要导入spring的xml配置文件,就需要使用这个注解
举例:
首先是我们的java配置类
@Configuration
@ImportResource("classpath:/com/acme/properties-config.xml")
public class AppConfig {
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
@Bean
public DataSource dataSource() {
return new DriverManagerDataSource(url, username, password);
}
}
properties-config.xml
<beans>
<context:property-placeholder location="classpath:/com/acme/jdbc.properties"/>
</beans>
jdbc.properties
jdbc.properties
jdbc.url=jdbc:hsqldb:hsql://localhost/xdb
jdbc.username=sa
jdbc.password=
运行测试方法:
public static void main(String[] args) {
ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
TransferService transferService = ctx.getBean(TransferService.class);
// ...结果略
}
说明
以上是spring官方文档对于该注解的说明和示例,比较简单,不赘述。