Spring中的@ImportResource
Posted heliusking
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring中的@ImportResource相关的知识,希望对你有一定的参考价值。
简介
这个注解很简单,就是导入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官方文档对于该注解的说明和示例,比较简单,不赘述。
以上是关于Spring中的@ImportResource的主要内容,如果未能解决你的问题,请参考以下文章
Spring杂谈 | Spring中的AutowireCandidateResolver