spring boot分环境导出自定义xml配置
背景介绍:
由于新的spring boot项目需要使用老的jar包,老的jar包的配置是用xml方式配置的,而且开发development、测试test、集成off、正式production环境都会有所不同,这种时候我们就需要让spring boot 分环境加载不同的xml配置文件。
方案简介:
spring boot的 @ConditionalOnProperty注解可以让我们根据条件加载@Configuration配置;@ImportResource注解可以导入xml配置文件;application-环境.yml方式可以给不同的环境配置不同的属性值。结合这3个特性,我们可以实现分环境加载xml配置文件的目的。
具体实践步骤:
(1)在application-development.yml中加入配置:importEnv: development
(2)在application-test.yml中加入配置:importEnv: test
(3)将要分环境加载的xml配置分为多个文件,每个文件中写各自环境相关的配置,例如:spring-development.xml,spring-test.xml
(4)加入配置类
@Configuration
public class ResourceConfig {@Configuration@ConditionalOnProperty(name = "importEnv", havingValue = "development")@ImportResource(locations={"classpath:spring-development.xml"})class ResourceDevelopment{@Beanpublic Test test(){System.out.println("==================development=========================");return new Test();}}@Configuration@ConditionalOnProperty(name = "importEnv", havingValue = "test")@ImportResource(locations={"classpath:spring-test.xml"})class ResourceTest{@Beanpublic Test test(){System.out.println("==================test=========================");return new Test();}}
}
测试:
在application.yml配置中修改环境变量启动,可以看到不同的环境加载了不同的配置
#spring active env
spring:application:name: test1profiles:active: development
转载于:https://blog.51cto.com/snowtiger/2074568
spring boot分环境导出自定义xml配置相关推荐
- Spring boot 集成工作流flowable去掉xml配置
工作流Flowable和Spring集成时,有一个xml是用来配置ProcessEngine的信息,xml的内容如下所示: <?xml version="1.0" encod ...
- spring boot多环境配置
spring boot多环境配置 通过多环境配置,可以实现生产环境和测试环境灵活切换. 主配置文件加载生产环境配置文件语法: spring.profiles.active=pro 注意一旦pro被激活 ...
- 从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建
从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建 本文简介 为什么使用Spring Boot 搭建怎样一个环境 开发环境 导入快速启动 ...
- Spring Boot教程(一)注解配置与EhCache使用
2019独角兽企业重金招聘Python工程师标准>>> 快速入门 首先,下载样例工程chapter3-2-2.本例通过spring-data-jpa实现了对User用户表的一些操作, ...
- Spring Boot(一) 自动装配--约定大于配置
欢迎去我的个人博客--晓坞坐坐,里面有很多有趣的文章,不止是技术.www.lixiaodongisme.com 随着spring体系的发展,我们在开发时需要配置整合的东西也越来越多,在进行开发时,繁琐 ...
- spring boot 使用application.properties 进行外部配置
2019独角兽企业重金招聘Python工程师标准>>> application.properties大家都不陌生,我们在开发的时候,经常使用它来配置一些可以手动修改而且不用编译的变量 ...
- Spring Boot面试必问:自动配置原理
Spring Boot自动配置原理 在传统的SSM框架集成中,需要编写大量的XML配置文件,比如集成Mybatis时,需要编写mybatis_config.xml文件,在集成springmvc时,需要 ...
- 学习第五篇:【SpringBoot-Labs】Spring Boot 调试环境、热部署入门、Lombok、MapStruct入门
本周(8.21-8.27)将学习芋道 Spring Boot的以下文章: 8.21: 快速入门 8.22:Spring Boot 自动配置原理 .Jar 启动原理 8.23:调试环境. 热部署入门.消 ...
- spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例...
本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例 集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口 ...
最新文章
- 实现nginx上配置免费证书Let's Encrypt
- 高效的找出两个List中的不同元素
- Linux LVM卷挂载
- ActFrameWork集成Beetlsql的Mapper功能
- 基于移动端Reactive Native轮播组件的应用与开发详解
- 8587520在51CTO【礼树迎蛇 红满社区】
- 一站式数据采集存储的利器:阿里云InfluxDB®️数据采集服务
- linux推出超级用户_linux添加root权限用户
- oracle11g 未,Oracle11g链接提示未“在本地计算机注册“OraOLEDB.Oracle”解决方法
- CSS设计指南(第3版)
- [转]-Sublime Text 3最好的功能、插件和设置
- 如何在Mac上更改“终端”窗口光标?
- easydarwin 安装_win10安装EasyDarwin并作为流媒体服务器的推流和拉流实例
- 赛尔号登录器显示服务器未开启,赛尔号登录界面改版啦!
- 美洽客服报表功能:用数据驱动企业业绩增长
- 文本数据挖掘实验:文本分类
- 什么是robots协议,robots文件的作用有哪些!
- 26.(cesium之家)cesium军事标绘-攻击箭头编辑修改(燕尾)
- LensFlare Studio for Mac 6.3 镜头光晕特效软件 破解版下载
- Python-day11~13-前端初步
热门文章
- KVM中virtio-user工作思路(十二)
- 电力“十三五”蓝图发布 新能源迎发展机遇
- iOS VideoToolbox硬编H.265(HEVC)H.264(AVC):1 概述
- PHP双引号的小隐患
- RecyclerView解析--onViewDetachedFromWindow()/onViewAttachedToWindow()
- 关于sqlserver和oracle的一点感受
- 检测一个网页上的链接是否都可以正常访问
- linux 内核生成
- Sound Mixer Fader
- 阿杜版主 我找您有事想请教下您!!