SpringBoot实战:SpringBoot之本地配置(三)
下面我们就来演示下,演示步骤如下:
在resource/config文件下新增application.yml
spring: application:
id: spring-boot-yml-demo #应用id
name : spring-boot-yml-demo #应用名称
而application.properties文件添加同样的配置
#应用idspring.application.id=spring-boot-wusy-demo
#应用名称
spring.application.name=spring-boot-wusy-demo
import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* @author wusy
* Company: xxxxxx科技有限公司
* Createtime : 2020/2/24 21:54
* Description :
*/
@RestController
@RequestMapping("/api/demo")
public class HelloWorldController {
@Value("${spring.application.name}")
private String name;
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String hello() {
return "hello world," + name;
}
}
运行应用,打开浏览器,在地址栏输入http://127.0.0.1:8787/api/demo/hello,观察结果
删除application.yml中的配置后再重启应用,在地址栏输入http://127.0.0.1:8787/api/demo/hello,观察结果
从演示结果可以看出,确实是顺序高优先级的内容会覆盖底优先级的内容。
同时优先级低的配置可以读取优先级高的配置,接下来演示在application.properties新增一个配置读取application.yml中的spring.application.name的配置值。
在applicataion.yml配置新增配置,并修改之前读取配置的类,
wusy.application.name = ${spring.application.name}
import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* @author wusy
* Company: xxxxxx科技有限公司
* Createtime : 2020/2/24 21:54
* Description :
*/
@RestController
@RequestMapping("/api/demo")
public class HelloWorldController {
@Value("${wusy.application.name}")
private String name;
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String hello() {
return "hello world," + name;
}
}
运行应用,打开浏览器,在地址栏输入http://127.0.0.1:8787/api/demo/hello,观察结果
通过以上的演示,知道配置文件如何通过优先级形成形成互补配置。
以上是 SpringBoot实战:SpringBoot之本地配置(三) 的全部内容, 来源链接: utcz.com/z/513904.html