1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > spring项目使用maven配置多环境动态读取配置值

spring项目使用maven配置多环境动态读取配置值

时间:2019-09-05 11:54:57

相关推荐

spring项目使用maven配置多环境动态读取配置值

1、首先pom.xml配置文件要在与<dependencies>标签同级配置<profiles>标签的配置

<profiles><!--测试环境--><profile><id>test</id><properties><env>test</env></properties></profile><!--生产环境--><profile><id>product</id><properties><env>product</env></properties></profile></profiles>

增加了profiles配置,在idea中就会出现相应的profile

2、 配置需要替换的环境的配置文件

maven执行package命令解析配置文件中的占位符进行替换

文档,配置需要替换的环境的配置文件

<filters><!-- 需要读取的配置文件来源 --><filter>src/main/filters/configfile_${env}.properties</filter></filters><resources><resource><directory>src/main/resources</directory><includes><!-- 需要替换占位符的配置文件--><include>spring-mvc.xml</include><include>config/configfile.properties</include></includes><filtering>true</filtering></resource></resources>

我的文件目录为src/main/filter目录下为需要根据环境选取的配置文件,根据profile环境的不同,分为configfile_test.properties文件和configfile_product.properties文件,而我需要替换占位符的配置文件为src/main/resources目录下的spring-mvc.xmlconfig/configfile.properties

#configfile_test.properties文件config.id=test_1config.name=test_domino#configfile_product.properties 文件config.id=product_1config.name=product_domino#configfile.properties文件config_id=${config.id}config_name=${config.name}#spring-mvc.xml文件<bean id="configBean" class="cn.shutdown.web.bean.ConfigBean"><property name="id" value="${config.id}"/><property name="name" value="${config.name}"/></bean>

3、根据profile启动项目

如果我勾选testprofile 然后使用jetty run 启动项目

读取的配置就是 configfile_test.properties文件中的配置

target中被编译的配置文件spring-mvc.xmlconfigfile.properties文件中的占位符的值也被替换为configfile_test.properties配置文件的值

如果使用productprofile进行编译和启动,配置文件中的${}点位符也会相应的被替换为configfile_product.properties中的配置的值

至此,根据环境读取相应环境的配置文件的功能就实现了

demo的源码地址

/j__domino/springboot-demo/tree/master/spring-config-demo/spring-profile-env-demo

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。