• Spring boot的配置


    Spring boot 之 文件结构和配置文件

    文件结构

    这是我从https://start.spring.io/中下来的文件夹,其中的文件夹里的文件结构为:

    demo:是项目名称;

    src/main/java:此目录是放置所有java文件的(源代码文件)

    src/main/resources:此目录是放置所有的配置文件,页面文件,静态资源文件,如果需要静态主页,直接在resources/static/下放入一个index.html即可。

    src/main/resources/static:此目录是静态资源文件目录,在这个目录中的所有文件将可以被直接访问,如果没有这个文件夹可自行创建;

    src/main/resources/public:此目录的作用和src/main/resources/static目录一样.

    src/main/resources/templates:此目录用来放置视图模板,Spring会对Thymeleaf、Freemarker、Groovy和mustache四种模板进行自动配置.

     

    配置文件

    1.Spring boot的配置文件有两种文件格式:application.properties和是application.yml,Spring boot官方下来的文件格式是application.properties

       Spring boot 会自动在src/main/resource/目录下找到配置文件,找到后将应用配置,否则使用默认值

       properties配置文件的优先级更高

    application.properties的配置文件的书写格式:

    spring.profiles.active=dev
    spring.datasource.data-username=root
    spring.datasource.data-password=root

    application.yml的配置文件的书写格式:

    spring:
      profiles:
        active: prod
      datasource:
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/test

    并没有要求限制必须使用哪种文件格式

    2.在项目中配置多套环境的配置(以下使用application.properties)

    (1).再进行配置管理策略中:代码的开发到测试要经过各种环境的测试,开发环境,测试环境,生产环境,各种环境的配置都不同,所以我们可以把每个环境的参数配置到properties文件中,这样想用到哪种环境时只需要在主配置文件中将配置文件写上就好:

    spring.profiles.active=prod

    在主文件中就会加载的配置文件是application-prod.properties,

    (2)不同的环境有不同的服务端口

    在这三个文件均都设置不同的server.port属性
    application-dev.properties:开发环境,设置为1111 application-test.properties:测试环境,设置为2222 application-prod.properties:生产环境,设置为3333

     (3)启动不同的配置加载

    java-jar xxx.jar,默认的开发环境(dev)
    java-jar xxx.jar --spring.profiles.active=prod,生产环境(prod)

    (4).总结

    如下总结多环境的配置思路:
    
    application.properties中配置通用内容,并设置spring.profiles.active=dev,以开发环境为默认配置
    
    application-{profile}.properties中配置各个环境不同的内容
    
    通过java -jar xxx.jar --spring.profiles.active={}方式去激活不同环境的配置
  • 相关阅读:
    addClass 函数
    Javascript 严格模式详解
    Animated Scroll to Top
    Cross-Browser HTML5 Placeholder Text
    不要滥用div,保持代码的整洁
    Revit二次开发示例:DeleteDimensions
    Revit二次开发示例:ChangesMonitor
    IEnumerable,ICollection,IList,List之间的区别
    Revit二次开发示例:CancelSave
    Revit二次开发示例:AutoUpdate
  • 原文地址:https://www.cnblogs.com/kirohuji/p/6897890.html
Copyright © 2020-2023  润新知