1. 程式人生 > >Spring啟用profile的幾種方式

Spring啟用profile的幾種方式

1、配置web.xml:通過配置context-param指定ContextLoaderListener初始化用到的引數;如下,可啟用test的profile。

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
>
<display-name>demo</display-name> <context-param> <param-name>spring.profiles.active</param-name> <param-value>test</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class
>
</listener> <servlet> <servlet-name>spring-web</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping
>
<servlet-name>spring-web</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>

2、使用Spring上下文:獲取Spring上下文,獲取environment,指定profile;如下,可啟用development的profile。

AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
ctx.getEnvironment().setActiveProfiles("development");
ctx.refresh();

3、指定JVM啟動引數:可通過命令列或Tomcat的catalina.sh指定引數;如下,可啟用product的profile。

-Dspring.profiles.active="product"
set JAVA_OPTS="-Dspring.profiles.active=product"