JavaSpringBoot添加多个配置文件
Java知识点整理正在进行中,关注我,持续给您带来简单,实用的Java编程技巧。SpringBoot添加多个配置文件
SpringBoot项目创建后,默认有一个配置文件application。yml。
为了开发及后续维护的方便,添加多个配置文件是简单而高效的办法。比如在开发环境使用一套参数,而在部署生产环境时使用生产环境的参数,避免了在部署生产环境前修改参数导致的错误。添加多个配置文件
在application。yml所在文件夹下,添加两个配置文件:applicationdev。yml,开发时使用的参数文件applicationprod。yml,生产环境下使用的参数文件
这三个配置文件的关系是,application。yml在所有的环境中都生效,applicationdev。yml在开发环境里生效,applicationprod。yml在生产环境里生效,同样的参同时出现的父文件和子文件中,子文件的参数会覆盖父文件的参数。
多个配置文件
application。yml:spring:profiles:active:spring。activeapplication:name:mwsserver:port:8886servlet:contextpath:mws
applicationdev。yml:server:port:8889
applicationprod。yml:server:port:8888配置多个配置文件
修改POM文件,配置多个配置文件添加块,描述每个子配置文件对应的文件名后缀在块中添加块描述多个配置文件所在位置li在application。yml中,配置生效的配置文件ol
application。ymlspring:profiles:active:spring。active
pom。xmllt;?xmlversion1。0encodingUTF8?projectxmlnshttp:maven。apache。orgPOM4。0。0xmlns:xsihttp:www。w3。org2001XMLSchemainstancexsi:schemaLocationhttp:maven。apache。orgPOM4。0。0https:maven。apache。orgxsdmaven4。0。0。xsd。。。为节省篇幅,此处省略其它配置。。。buildresourcesresourcedirectorysrcmainresourcesdirectory!开启过滤,用指定的参数替换directory下的文件中的参数filteringtruefilteringresourceresources。。。为节省篇幅,此处省略其它配置。。。buildprofilesprofileiddevidpropertiesspring。activedevspring。activeproperties!默认激活trueactiveByDefaultactivationprofileprofileidprodidpropertiesspring。activeprodspring。activepropertiesprofileprofilesproject异常处理:Causedby:org。yaml。snakeyaml。scanner。ScannerException:whilescanningforthenexttokenfoundcharacterthatcannotstartanytoken。(Donotuseforindentation)inreader,line3,column13:active:spring。active
按字面的解释是不能使用字符,但实际原因跟这个没关系,做修改pom文件的第二步就解决这个问题了。测试:
分别以dev和prod两个参数启动程序,分别测试对应的端口即可。
总结给项目配置多个配置文件可以避免在项目上线时集中修改配置参数导致的错误项目配置多个配置文件可以提高代码开发,测试的效率,应该在项目搭建的初期完成这个配置,不要在项目将上线时再来做这个配置操作