spring web.xml中设置变量

1. spring web.xml注入系统配置属性(如app.properties).

因为web.xml是web系统的配置入库,代码一经编译之后web.xml里面的值就不可改变,不能再程序运行时替换。所以如果需要在web.xml配置属性变量,必须在编译的时候就将属性变量替换。

具体需要在项目新建不同环境的属性文件

如(开发文件application-development.properties,测试application-integratetest.properties,生产application-production.properties)。然后在pom文件里面利用mavn profile 指定针对不同环境替换对于的属性文件里的变量,

如下例中有下面变量需要

<filter>
    <filter-name>CAS Authentication Filter</filter-name>
    <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
    <init-param>
      <param-name>casServerLoginUrl</param-name>
      <param-value>${uuc.host}/login</param-value>
    </init-param>
    <init-param>
      <param-name>serverName</param-name>
      <param-value>${server.name}</param-value>
    </init-param>
    <init-param>
      <param-name>gateway</param-name>
      <param-value>false</param-value>
    </init-param>

  

 1. 在application-development.properties等属性文件中配置

uuc.host=http://172.31.52.12:2280/uuc
conf.dir=classpath:
server.name=http://172.31.66.161:4000

 2.在项目的pom.xml 中配置如下build 参数

<build>
	<finalName>ROOT</finalName>
	<defaultGoal>compile</defaultGoal>
	<filters>
		<filter>${filter.file}</filter>
	</filters>
        	<resources>
		<resource>
			<directory>src/main/resources</directory>
			<includes>
				<include>**/*</include>
			</includes>
			<filtering>true</filtering>
		</resource>
		<resource>
			<directory>src/main/resources/properties</directory>
			<includes>
				<include>**/*</include>
			</includes>
			
			<filtering>true</filtering>
		</resource>
	</resources>
</build>
<profiles>
    <!-- 开发 -->
    <profile>
      <id>dev</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <filter.file>src/main/resources/properties/application-development.properties</filter.file>
      </properties>
    </profile>
    <!-- 测试 -->
    <profile>
      <id>test</id>
      <properties>
        <filter.file>src/main/resources/properties/application-integratetest.properties</filter.file>
      </properties>
    </profile>
    <!-- 生产 -->
    <profile>
      <id>prod</id>
      <properties>
        <filter.file>src/main/resources/properties/application-production.properties</filter.file>
      </properties>
    </profile>
  </profiles>

 3. maven打包命令使用如下参数即可:

mvn clean install -DskipTests -Pdev (开发)
mvn clean install -DskipTests -Ptest (测试)
mvn clean install -DskipTests -Pprod (生产)
扫描二维码关注公众号,回复: 198983 查看本文章

猜你喜欢

转载自dbp5588.iteye.com/blog/2420217