简介
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