Spring Boot(二)配置文件详解

简介

Spring Boot使用“习惯由于配置”(项目中存在大量默认的配置,而且内置tomcat)的理念,让你的无需手动进行配置就可以将项目运行起来。使用Spring Boot很容易创建一个独立运行的、准生产级别的Spring框架的项目。同时,Spring Boot还提供一个全局配置文件对一些默认配置项的值进行修改。

Spring Boot的全局配置application.properties或application.yml文件放在src\main\resources目录或类路径的/config下。推荐大家使用yml格式的配置文件,下面演示配置文件的使用。

修改默认配置

可以通过修改配置项的值修改Spring Boot的默认配置,如端口号、数据源等。如将tomcat的默认端口号8080修改为8090,并将访问路径修改为"server"。可在application.yml中添加:

server:
  port: 8080
  servlet:
    context-path: server

获取配置文件的属性值

可以在配置文件中加入自己的自定义属性,然后在类中通过@Value获取对应的属性的值,在application.yml文件中添加:

person:
  name: huang
  age: 23

编写测试类FirstController.java

@RestController
public class FirstController {

    @Value("${person.name}")
    private String name;
    @Value("${person.age}")
    private Integer age;

    @GetMapping("/hello")
    public String hello() {
        return "name is " + name + ",age is " + age;
    }
}

启动项目,访问localhost:8080/hello,浏览器输出“name is huang,age is 23”。证明配置文件中的属性值已经注入成功。

多环境配置

实际开发中,可能会有本地环境、测试环境、生产环境等多个环境,每个环境的配置不同(如端口号,数据源配置)。如果每次都通过修改配置文件中的值会显得很繁琐。辛好Spring提供Profile配置用来针对不同环境对不同配置的支持。下面将做简单的演示,如测试环境用8080端口,生产环境用8888端口。

单个配置文件

application.yml文件的配置如下:

#选用哪个配置文件
spring:
  profiles:
    active: dev
---
#开发环境配置
spring:
  profiles: dev
server:
  port: 8080
---
#生产环境
spring:
  profiles: prod
server:
  port: 8888

多个配置信息用---分隔开,spring.profiles.active指定选用哪个配置,这里用的是dev的配置,启动程序,可以发现程序的启动端口是8080:

 修改spring.profiles.active的值为prod,重启项目,此时项目的启动端口为8888:

多个文件

在resources目录下新建三个yml文件。

测试环境配置文件application-dev.yml:

server:
  port: 8080

生产环境配置文件application-prod.yml:

server:
  port: 8888

 application.yml,这里先指定配置文件为application-dev.yml,即开发环境:

spring:
  profiles:
    active: dev #指定用哪个配置文件

启动项目,可以发现程序的启动端口为8080:

将application.yml中的spring.profiles.active值改为prod,则程序的启动端口改为8888

 

猜你喜欢

转载自blog.csdn.net/qq_35787138/article/details/83658918