多环境配置一直都是一件头疼不已的事情,spring自3.1以后引入Profile的方式实现多环境切换。下面我结合个人经验介绍一种简单的配置方式。
假设存在三种环境:
dev-开发环境;test-测试环境;pro-生产环境;
准备工作:
在工程的resources目录下分别创建开发环境配置文件config-dev.properties、测试环境配置文件config.test.properties和生产环境配置文件config-pro.properties。
1、配置web.xml
<!-- Context ConfigLocation --> <!-- dev:开发环境; pro:生产环境;test:测试环境; --> <context-param> <param-name>spring.profiles.active</param-name> <param-value>dev</param-value> </context-param>
2、在spring的applicationContext.xml文件中引入config-xxx.properties配置文件
<context:property-placeholder ignore-unresolvable="true" location="classpath*:config-${spring.profiles.active}.properties" />
3、在程序中取得profile的配置
1> 配置web.xml
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>com.lh.web.listener.WebContextListener</listener-class> </listener>
2>在WebContextListener中取得profile配置信息
package com.lh.web.listener; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.context.ContextLoaderListener; public class WebContextListener extends ContextLoaderListener { private static final Logger LOGGER = LoggerFactory.getLogger(WebContextListener.class); @Override public void contextInitialized(ServletContextEvent event) { ServletContext context = event.getServletContext(); String active = context.getInitParameter("spring.profiles.active"); if("dev".equals(active)){ LOGGER.info("开发环境"); }else if("test".equals(active)){ LOGGER.info("测试环境"); }else if("pro".equals(active)){ LOGGER.info("生产环境"); }else{ LOGGER.error("环境配置错误!"); } } }
参考网站:
1、http://www.jianshu.com/p/948c303b2253
2、http://vito16.com/2014/08/13/using-spring-profile-on-deploy.html
The end!
相关推荐
主要介绍了使用Spring boot 的profile功能实现多环境配置自动切换的相关知识,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
简单地说,就是 @Profile("production") @Profile("dev") 3、基于annotation的环境变量管理 结合2使用 btw:绿色党肯定要对此表示不慢了 4、属性抽象层 结合2,3使用,可以在很多配置处,写出比如这样的表达式 以...
2.8 Profile多环境支持 31 2.9 配置文件的加载位置 33 2.10 外部配置加载顺序 36 2.11 自动配置原理 37 2.12 @Conditional派生注解 41 3 Spring Boot与日志 42 3.1 日志框架分类和选择 42 3.2 SLF4j使用 43 3.3 其他...
而Spring Boot 是Spring 主推的基于“习惯优于配置”的原则,让你能够快速搭建应用的框架,从而使得Java EE 开发变得异常简单。 《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而...
而Spring Boot 是Spring 主推的基于“习惯优于配置”的原则,让你能够快速搭建应用的框架,从而使得Java EE 开发变得异常简单。 《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而...
而Spring Boot 是Spring 主推的基于“习惯优于配置”的原则,让你能够快速搭建应用的框架,从而使得Java EE 开发变得异常简单。 《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而...
SpringMVC+Mybatis(多数据源)+Mongo(多数据源),框架适合同时访问多种DB,且支持每种DB配置多个数据源。正如我代码中的demo,配置了两个...除此之外还通过maven profile支持了多环境自动切换配置。欢迎下载,互相学习。
14、尚硅谷_SpringBoot_配置-@PropertySource、@ImportResource、@Bean 15、尚硅谷_SpringBoot_配置-配置文件占位符 16、尚硅谷_SpringBoot_配置-Profile多环境支持 17、尚硅谷_SpringBoot_配置-配置文件的加载位置 ...
156 Spring Boot 启用 Profile 157 Docker 私服搭建 158 项目的容器化部署1 159 项目的容器化部署2.1 159 项目的容器化部署2.2 160 项目的容器化部署3.1 160 项目的容器化部署3.2 161 基本概念 162 操作流程 163 ...
156 Spring Boot 启用 Profile 157 Docker 私服搭建 158 项目的容器化部署1 159 项目的容器化部署2.1 159 项目的容器化部署2.2 160 项目的容器化部署3.1 160 项目的容器化部署3.2 161 基本概念 162 操作流程...
运行环境部署 用git clone项目到本地仓库 创建Mysql数据库,数据库名称:mapleemsplus,并执行sql文件夹下的mapleemsmplus.sql文件 用ieda介绍maven项目HtxkEmsm 按需更改HtxkEmsm-admin模块下资源的application.yml...
使用.ashx文件处理IHttpHandler实现发送文本及二进制数据的方法 制作一个简单的多页Tab功能 一完美的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的功能 XmlHttp实现无刷新三联动ListBox 鼠标...
16、尚硅谷_SpringBoot_配置-Profile多环境支持 17、尚硅谷_SpringBoot_配置-配置文件的加载位置 18、尚硅谷_SpringBoot_配置-外部配置加载顺序 19、尚硅谷_SpringBoot_配置-自动配置原理 20、尚硅谷_SpringBoot...
尚硅谷_SpringBoot_配置-Profile多环境支持 尚硅谷_SpringBoot_配置-配置文件的加载位置 尚硅谷_SpringBoot_配置-外部配置加载顺序 尚硅谷_SpringBoot_配置-自动配置原理 尚硅谷_SpringBoot_配置-@Conditional&自动...
尚硅谷_SpringBoot_配置-Profile多环境支持 尚硅谷_SpringBoot_配置-配置文件的加载位置 尚硅谷_SpringBoot_配置-外部配置加载顺序 尚硅谷_SpringBoot_配置-自动配置原理 尚硅谷_SpringBoot_配置-@Conditional&自动...
Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。...
16、_SpringBoot_配置-Profile多环境支持 ( h, f6 Y' s! ]9 v! _5 J% ^+ `, ^ 17、_SpringBoot_配置-配置文件的加载位置 18、_SpringBoot_配置-外部配置加载顺序 19、_SpringBoot_配置-自动配置原理 6 o* r% s4 }/...
如何使用profile运行? // Test with embedded mongodb $mvn clean install -Dspring.profiles.active=use-mongodb-embedded // Test with Test mongodb $mvn clean install -Dspring.profiles.active=test // ...
切换到application.propertiesben:spring.profiles.active = H2database或配置运行程序参数的软件ekhez:--spring.profiles.active profile name = 默认情况下,您可以与2个用户进行交互: ROLE_USER:[名称=...