SpringBoot是不能自动加载我们自己编写的spring配置文件的。
我们可以在注解类上使用@ImportResource(value = {})引入自己编写的配置文件。
1、新建一个spring的配置文件-bean.xml
<?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="dog" class="com.killbug.helloworld.pojo.Dog"></bean> </beans>
2、测试一下能否从spring配置文件中获取指定的bean
package com.killbug.helloworld; import com.killbug.helloworld.pojo.Person; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ApplicationContext; @SpringBootTest class HelloworldApplicationTests { @Autowired ApplicationContext applicationContext; @Test void contextLoads() { System.out.println("能否获取dog:"+applicationContext.containsBean("dog")); } }
控制台显示结果:是不能获取指定的bean的
3、在主配置类上加上@ImportResource(value = {})
package com.killbug.helloworld; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ImportResource; @ImportResource(value = {"classpath:bean.xml"}) @SpringBootApplication public class HelloworldApplication { public static void main(String[] args) { SpringApplication.run(HelloworldApplication.class, args); } }
4、再次进行测试
控制台显示结果:可以获取指定bean
SpringBoot04--引入自己编写的spring配置文件@ImportResource(value = {})
原文:https://www.cnblogs.com/gongxiao/p/13446309.html