如何为spring的三种集成环境自动配置参数

如何为spring的三种集成环境自动配置参数
(1)三种集成环境
开发环境:dev
测试环境:test
生产环境:prod
(2)背景:每种集成环境下的参数都不尽相同,但是如果每换一次集成环境就需要重构一次代码的话会让人感到崩溃,于是spring很人性化的有自动化配置。
(3)配置文件相应的应该有三份:dev、test、prod
(4)当前使用哪个配置文件呢:需要设置两个值,即默认值default和当前激活值active
(5)具体使用方法如下:
方法一、
spring+maven
1.在pom.xml文件中配置如下:
<build>
<!-- defaultGoal:执行build任务时,如果没有指定目标,将使用的默认值,如:在命令行中执行mvn,则相当于执行mvn install; -->
<defaultGoal>install</defaultGoal>
<finalName>ecif_admin</finalName>
<!-- resources:一个resource元素的列表,每一个都描述与项目关联的文件是什么和在哪里; -->
<resources>
<resource>
<!-- directory:定义resource所在的文件夹,默认为${basedir}/src/main/resources; -->
<directory>src/main/resources</directory>
<!-- filtering:true/false,表示为这个resource,filter是否激活。 -->
<filtering>true</filtering>
<!-- excludes:指定哪些文件被忽略,如果一个文件同时符合includes和excludes,则excludes生效 -->
                <excludes>
                    <exclude>filter/*/*.properties</exclude>
                </excludes>
</resource>
</resources>
... ...

</plugins>

<profiles>
 <profile>
            <id>dev</id>
            <properties>
                <env>dev</env>
                <maven.app-name>${app-name}</maven.app-name>
<maven.config-home>${project.build.directory}/../tesla-conf</maven.config-home>
<maven.log-home>${project.build.directory}/../tesla-log</maven.log-home>
<maven.log-level>INFO</maven.log-level>
<maven.sql-log-level>DEBUG</maven.sql-log-level>
<maven.console-log-enable>true</maven.console-log-enable>
            </properties>
            <activation>
            <!-- 默认是使用开发环境的配置文件 -->
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <filters>
                    <filter>src/main/resources/filter/dev/dev.properties</filter>
                </filters>
            </build>
        </profile>
        <profile>
<id>test</id>
<properties>
<env>test</env>
<maven.app-name>${app-name}</maven.app-name>
<maven.config-home>${project.build.directory}/../tesla-conf</maven.config-home>
<maven.log-home>/usr/local/tomcat/tomcat1/logs</maven.log-home>
<maven.log-level>INFO</maven.log-level>
<maven.sql-log-level>DEBUG</maven.sql-log-level>
<maven.console-log-enable>true</maven.console-log-enable>
</properties>
 <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
<build>
<filters>
<filter>src/main/resources/filter/test/test.properties</filter>
</filters>
</build>
</profile>
        <profile>
            <id>prod</id>
            <properties>
                <env>prod</env>
                <maven.app-name>${app-name}</maven.app-name>
<maven.config-home>/tmp/tesla-conf</maven.config-home>
<maven.log-home>/usr/local/tomcat7/logs</maven.log-home>
<maven.log-level>INFO</maven.log-level>
<maven.sql-log-level>INFO</maven.sql-log-level>
<maven.console-log-enable>false</maven.console-log-enable>
            </properties>
              <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <filters>
                    <filter>src/main/resources/filter/prod/prod.properties</filter>
                </filters>
            </build>
        </profile>

</profiles>
2.然后在相应的src/main/resources/filter下建立dev、test、prod文件夹,并在文件夹中写入配置文件*.properties即可,这样bean中的变量就可以直接调用配置文件的了
3.发布的时候需要选中当前需要激活哪个配置文件,如下图所示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值