spring boot提倡的就是简化配置,用注解代替以前繁琐的xml配置。
为什么我们今天还在这里讲怎么导入xml配置,这不就自相矛盾了吗?
之所以boot提供了这功能,是为了兼容一些以前的框架问题。
比如说dubbo,用过dubbo的人都知道,dubbo的配置都是在xml中的,如果我们想要在spring boot中使用dubbo,
如果不提供支持导入xml配置的方法,那么这个框架此时就用不了。除非你改dubbo的源码,让它也支持注解的方式。
这个时候这个功能就变得很重要了。
用起来也是很简单的,没什么好讲的,就是用@ImportResource注解将xml导入进来即可。
我们可以做个验证,看导入进来的配置是否被spring加载了。
首先定个简单的类,里面加个构造函数,然后输出一句话。
public class MyXmlService {
public MyXmlService() {
System.err.println("xml中定义bean的实例也是可以哦");
}
}
然后我们定义个xml配置文件,配置MyXmlService的实例。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="myXmlService" class="com.cxytiandi.impxml.MyXmlService"></bean>
</beans>
然后我们定义一个加载配置的Config类, 将xml文件进行导入。
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
@Configuration
@ImportResource(locations={"classpath:cxytiandi-service.xml"})
public class AllConfigs {
}
这个时候我们启动我们的项目,如果在启动中控制台输出了我们定义的那句话,也就证明了MyXmlService被new过了。
我们启动看下输出就可以验证了。
本文暂时没有评论,来添加一个吧(●'◡'●)