传统java项目根据环境使用多配制文件策略

文章目录

  • 传统java项目根据环境使用多配制文件策略
    • 配置
      • 创建配置文件
      • 修改web.xml
      • 修改配置读取方式
    • 运行
      • 开发环境
      • 新增
      • 生产环境

传统java项目根据环境使用多配制文件策略

本项目非maven和springboot项目,以前的旧项目jar放在lib下的那一种

项目环境为:spring mvc 4.0.0,使用spring Profiles 完成

Spring官网介绍

配置

创建配置文件

传统java项目根据环境使用多配制文件策略_第1张图片

修改web.xml

以下几项必备


<context-param>
    <param-name>webAppRootKeyparam-name>
    <param-value>jsjyjd.rootparam-value>
context-param>

<context-param>
    <param-name>spring.profiles.defaultparam-name>
    <param-value>proparam-value>
context-param>

<context-param>
    <param-name>log4jConfigLocationparam-name>
    <param-value>classpath:${spring.profiles.default}/log4j.propertiesparam-value>
context-param>
<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListenerlistener-class>
listener>

传统java项目根据环境使用多配制文件策略_第2张图片

修改配置读取方式

  1. 新建一个xml,必须新建一个,里面只能写环境相关的东西,写在其他已经存在的文件中会报错(我是这样)

spring-custom.xml


<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">

    
    <beans profile="dev">
        
        <bean id="propertyConfigurer"
              class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="locations">
                <list>
                    <value>classpath:dev/sys.propertiesvalue>
                    <value>classpath:dev/redis.propertiesvalue>
                    <value>classpath:dev/jdbc.propertiesvalue>
                list>
            property>
        bean>
    beans>
    
    <beans profile="pro">
        
        <bean id="propertyConfigurer"
              class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="locations">
                <list>
                    <value>classpath:pro/sys.propertiesvalue>
                    <value>classpath:pro/redis.propertiesvalue>
                    <value>classpath:pro/jdbc.propertiesvalue>
                list>
            property>
        bean>
    beans>
beans>

传统java项目根据环境使用多配制文件策略_第3张图片

  1. 在其他文件中(spring-mvc.xml)导入 spring-custom.xml
<import resource="spring-custom.xml"/>

传统java项目根据环境使用多配制文件策略_第4张图片

3. 配置已经完成了,直接打包运行的话已经可以识别到pro环境中的配置了

运行

开发环境

添加JVM运行参数,启动后就可以使用dev的环境

-Dspring.profiles.active=dev 

传统java项目根据环境使用多配制文件策略_第5张图片

新增

2021/04/22 新增,linux开发环境下会有问题

在启动命令里加上两条命令
-Dspring.profiles.active=dev 
-Dspring.profiles.default=dev 

生产环境

​ 没什么要调整的,直接打包就行了

你可能感兴趣的:(Spring,JAVA,java,spring,Profile,多配置文件)