美文网首页
springboot配置文件

springboot配置文件

作者: maylor_zhu | 来源:发表于2017-08-05 13:00 被阅读134次

    在配置文件中使用自定义参数

    myport=8080
    server.port=${myport}
    

    在代码里面使用自定义参数

    通过注解@Value来加载自定义参数

    • PlaceHolder方式 ${} 例@Value("${abc}")
    • SpEL方式 #{} 例@Value("#{abc}")

    在配置文件中使用随机数

    • 随机字符串
      com.zml.str=${random.value}
    • 随机int
      com.zml.intval=${random.int}
    • 随机long
      com.zml.longval=${random.long}
    • 10以内的随机数
      com.zml.intval=${random.int(10)}
    • 10-20随机数
      com.zml.intval=${random.int[10,20]}

    使用不同配置文件启动

    创建一个简单的springboot应用
    创建三个配置文件application.properties,application-dev.properties,application-test.properties

    application.properties

    spring.profiles.active=dev
    
    

    application-dev.properties

    spring.application.name=config-client
    server.port=8080
    
    

    application-test.properties

    spring.application.name=config-client
    server.port=8081
    
    

    启动之后,系统使用了8080端口启动,使用dev配置文件
    在通过java -jar方式启动的时候,可以通过带参数,在启动的时候动态使用配置文件,不带参数,默认使用application.properties里面配置的配置文件

    java -jar xxx.jar --spring.profiles.active=test

    系统使用8081端口,使用test配置文件

    配置文件加载顺序

    优先级由高到低

    • 在命令行中传入的参数
    • SPRING_APPLICATION_JSON中的属性。SPRING_APPLICATION_JSON是以json格式配置在系统环境变量中的内容
    • java:comp/env中的JNDI属性
    • java的系统属性,可以通过System.getProperties()获取的内容。
    • 操作系统的环境变量
    • 通过random.*配置的随机属性
    • 位于当前应用jar包之外,针对不同{profile}环境的配置文件内容,例如application-{profile}.properties或是yaml定义的配置文件
    • 位于当前应用jar包之内,针对不同{profile}环境的配置文件内容,例如application-{profile}.properties或是yaml定义的配置文件
    • 位于当前应用jar包之外,application.properties和yaml定义的配置文件
    • 位于当前应用jar包之内,application.properties和yaml定义的配置文件
    • 在@Configuration注解修改的类中,通过@PropertySource注解定义的属性
    • 应用默认属性,使用SpringApplication.setDefaultProperties定义的内容

    相关文章

      网友评论

          本文标题:springboot配置文件

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