springboot配置文件种类

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> springboot配置文件种类

springboot配置文件种类

文件类型的区分

  • xxx.propertis
  • 格式简单,但是只支持键值对

    spring.mvc.view.prefix=/static
    
  • xxx.yml
  • 如果需要表达列表,最好使用YAML格式
    YAML是一个类似 XML、JSON 的数据序列化语言。其强调以数据为中心,旨在方便人类使用;并且适用于日常常见任务的现代编程语言。因而 YAML 本身的定义比较简单,号称“一种人性化的数据格式语言”。
    快速入门:

    server:
     port: 9092
    #相当于xxx.properties的server.port=9092
    # “:”后面必须有空格
    

     
    详细的语法,请参考官网文档:http://yaml.org/spec/1.2/spec.html#tag/unrecognized/
    或者阮一峰的网络日志http://www.ruanyifeng.com/blog/2016/07/yaml.html

    YAML是一个类似 XML、JSON 的数据序列化语言。其强调以数据为中心,旨在方便人类使用;并且适用于日常常见任务的现代编程语言。因而 YAML 本身的定义比较简单,号称“一种人性化的数据格式语言”。

    详细的语法,请参考官网文档:http://yaml.org/spec/1.2/spec.html#tag/unrecognized/

    执行顺序区分

    SpringBoot支持自动加载约定名称的配置文件,例如 application.yml、bootstarp.yml

  • bootstrap.yml(bootstrap.properties)先加载,此文件只适用于spring cloud
  • 用来程序引导时执行,应用于更加早期配置信息读取,如可以使用来配置application.yml中使用到参数等
    一般使用 Spring Cloud Config Server的会用到

    1. spring.application.name
    2. spring.cloud.config.server.git.uri
    3. 一些加密/解密信息
    可以通过设置`spring.cloud.bootstrap.enabled=false`来禁用`bootstrap`

    一般使用 Spring Cloud Config Server的会用到

    可以通过设置 spring.cloud.bootstrap.enabled=false来禁用 bootstrap

  • application.yml(application.properties)后加载
  • 应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等。

    更详细的说明,请查看该大牛的博客:https://www.cnblogs.com/BlogNetSpace/p/8469033.html

    profile多环境配置文件

    详细博客:https://blog.csdn.net/l_sail/article/details/70142743
    在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:

    • application-dev.properties:开发环境
    • application-test.properties:测试环境
    • application-prod.properties:生产环境 而启动某个配置则:spring.profiles.active= dev #启动某个配置文件,其中dev则是{profile}

    在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:

    
    # PROFILES
    spring.profiles.active= dev,test #启动自定义的配置文件,可以通过命令行修改这个值
    spring.profiles.include= proddb,prodmq# Unconditionally activate the specified comma-separated list of profiles (or list of profiles if using YAML).可以用来无条件的添加生效的配置。
    

    单个配置文件,配置多个自定义配置:

    注意事项:

    • 该形式只支持yml文件格式
    • 使用 --- 配置文件分割符将单文件切割文件
    • 使用spirng: profiles:{profile}  即为文件名
    server:
        address: 192.168.1.100
    ---
    spring:
        profiles: development
    server:
        address: 127.0.0.1
    ---
    spring:
        profiles: production
    server:
        address: 192.168.1.120
    

    基于Java配置的profiles

    
    //Spring Profiles提供了一种隔离应用程序配置的方式,并让这些配置只能在特定的环境下生效。任何@Component或@Configuration都能被@Profile标记
    
    @Configuration
    @Profile("production")
    public class ProductionConfiguration {
    // ...
    }
    //通过@ConfigurationProperties引用的文件亦可以被当作文件来加载的。 
    

    启动方式:

    1.默认启动的spring.profiles.active= dev 的值
    2.编程模式激活

    package com.lf;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.ConfigurableApplicationContext;
    
    @SpringBootApplication
    public class Application {
    
        public static void main(String[] args) {
            ConfigurableApplicationContext applicationContext = SpringApplication.run(Application.class, args);
            applicationContext.getEnvironment().setActiveProfiles("dev");
        }
    }
    

     
    3.命令行
    执行java -jar xxx.jar  –spring.profiles.active=test  则可以修改其值
    springboot配置文件种类

    2.编程模式激活

    执行java -jar xxx.jar  –spring.profiles.active=test  则可以修改其值

    文章如有错误,请您一定指出,感谢之至!
    如果你有不同的见解,欢迎留言
    图片可能来源于网络,如有侵权请告知。
    文章中的资料有时忘记书写来源,如果需求请告知
    最后:关注一下呗

    如果你有不同的见解,欢迎留言

    文章中的资料有时忘记书写来源,如果需求请告知

    长按二维码识别关注

    原文始发于微信公众号( 阿风的JAVA ):

    本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

    本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

    原文链接:blog.ouyangsihai.cn >> springboot配置文件种类


     上一篇
    关于Spring 和 Spring MVC的43个问题【问题汇总】 关于Spring 和 Spring MVC的43个问题【问题汇总】
    点击上方蓝色字体,关注我们 地址:http://www.cnblogs.com/doudouxiaoye/作者: 肥宅兜备注:部分来自于本人总结 作者: 肥宅兜 1.为什么使用Spring ? 1). 方便解耦,简化开发      
    2021-04-05
    下一篇 
    【加精】Spring全家桶系列–SpringBoot入门Redis 【加精】Spring全家桶系列–SpringBoot入门Redis
    //本文作者:cuifuan//本文将收录到菜单栏:《Spring全家桶》专栏中  首先,Redis是什么? Redis是一个开源的,基于内存的键值数据存储,用作数据库,缓存和消息代理。在实现方面,
    2021-04-05