美文网首页
spring boot加载外部配置文件

spring boot加载外部配置文件

作者: 多关心老人 | 来源:发表于2019-10-29 17:41 被阅读0次
    1. 配置文件如果直接写在resources目录下,并且以application开头,则会自动被识别为spring boot的配置文件,图标会变化。如果写在别的目录,如resources/conf/下面,则是普通的文件图标。

    2. 如果配置文件是application-模块名.properties,spring boot会把“模块名”认为是profile,而“模块名”这些profile是不被spring boot认可的,需要手动在application.properties指定:spring.profiles.active=mybatis,redis,sms

    3. spring boot自动识别的配置文件,即使不配置@PropertySource,也会被扫描、注入

    在生产环境要引用外部文件,如果用外部文件系统:

    1. 用配置中心
    2. 用profile,不过感觉profile不实用,代码里不可能有生产环境的配置。
    3. 在spring boot jar运行的目前下面,把配置文件当前目录下的/config目录或当前目录
    4. 如果配置文件都在resources下面,可以在启动spring boot的时候加 -Dspring.config.location=E:/conf/,注意要把所有的配置文件都存在于E:/conf/下面。 代码里直接用classpath:就行,不需要写file:。
      spring.config.location指定的路径一定要以/结尾,否则读取的是classpath下的文件,并不会读取到外部配置文件。
    5. 如果配置文件不是直接放在resources下面,如放在resources/conf下面,那么可以在
      @PropertySource(value = {"classpath:/conf/application-sms.properties", "file:${config_path}/application-sms.properties"}, ignoreResourceNotFound = true)
      后面的file:会覆盖前面的classpath:下面的配置。

    相关文章

      网友评论

          本文标题:spring boot加载外部配置文件

          本文链接:https://www.haomeiwen.com/subject/ogugvctx.html