首页 > 技术文章 > Spring boot的配置

kirohuji 2017-05-26 15:16 原文

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={}方式去激活不同环境的配置

 

推荐阅读