springBoot引入spring配置文件
2020-06-27 本文已影响0人
水煮鱼又失败了
1 场景
springBoot中新增或更改默认配置,基本是使用@Configuration
、@Bean
、@Component
等注解来实现,和之前的spring中的xml配置文件配置的方式完全不同。
需注意:springBoot中也可以加载原始的xml配置文件的方式来配置spring。
比如,作者之前在使用springBoot配置时,对于springBoot的注解式事务不是很喜欢。会使用spring的xml配置文件,将原springMvc中使用的声明式事务配置在xml文件中,再引入到springBoot中,通过切面设定的方法名,来自动判断方法的事务。
2 方案
springBoot中提供了注解@ImportResource
来实现引入spring的xml配置文件,格式如下:
@ImportResource(locations = {"classpath:spring.xml","classpath:spring-other.xml"})
3 实例
配置注解:
@SpringBootApplication
//引入外部配置文件
@ImportResource(locations = {"classpath:spring.xml","classpath:spring-other.xml"})
public class TestBootApplication {
public static void main(String[] args) {
SpringApplication.run(TestBootApplication.class, args);
}
}
spring.xml配置文件:
<bean id="myBean" class="com.scaf.test.web.boot.bean.MyBean" />
MyBean文件下:
public class MyBean {
public MyBean(){
System.out.println("init myBean----");
}
}
启动springBoot项目时,控制台输出如下:
2020-06-27 15:32:15.795 INFO 1364 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2003 ms
init myBean----
2020-06-27 15:32:16.052 INFO 1364 --- [ restartedMain] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'