使用spring profile实现多环境切换的简单实现

9 篇文章 0 订阅
1 篇文章 0 订阅

多环境配置一直都是一件头疼不已的事情,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!

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Spring Boot进行项目开发时,可以通过使用Mavenprofile实现在不同环境使用不同的镜像。 首先,在Maven配置文件(pom.xml)定义多个profile,每个profile对应一个环境。例如,可以定义一个profile用于本地开发环境,一个profile用于测试环境,一个profile用于生产环境。 在每个profile,可以配置不同的Maven镜像来适应不同的环境需求。可以指定不同的镜像地址、用户名和密码等信息。在配置,也可以配置其他相关的依赖和插件等信息。 然后,可以在命令行使用不同的参数来指定打包时使用profile。例如,可以使用"-P"参数来指定使用profile。通过在不同环境使用不同的profile,就可以在不同环境使用不同的镜像。 在执行Maven打包命令时,根据指定的profile,Maven会自动根据配置进行相应的打包操作。 使用Maven镜像不同的好处是可以根据环境的不同,动态地切换镜像,以便更好地适应不同环境下的需求。例如,在本地开发环境,可以使用本地私服或者本地下载的镜像,以提高打包速度和依赖管理效率;在测试环境或者生产环境,可以使用公共的镜像来确保项目的稳定性和一致性。 通过以上的方式,我们可以很方便地使用Maven来实现在不同环境打包并使用不同的镜像。这样可以提高开发和部署的效率,并且能够更好地满足不同环境下的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值