springboot-项目属性配置

springboot如何新建一个项目参考博客:https://www.cnblogs.com/junyang/p/8151802.html

在springboot默认生成的配置文件的格式是:application.properties  它的文件格式为:

server.port=8081
server.context-path=/xidian

但是有更简单的配置方式,新建application.yml文件,文件格式为:

server:
  port: 8080
  context-path=/xidian

只需要保留这种简单的文件格式就行。

可以在application.yml配置文件中自己新建一个变量:

server:
port: 8080
context-path: /girl
grade: F

然后可以通过注解方式注入到属性变量中:

@RestController
public class HelloController {
    
    @Value("${grade}")
    private String grade;
    
    @RequestMapping(value="/hello", method = RequestMethod.GET)
    public String say(){
        return grade;
    }
}

但是这种方式需要将每一个变量通过@Value注解的方式注入进来,有没有更简便的方法呢?

可以新建一个属性类GirlProperties.java:

//申明这个bean
@Component
@ConfigurationProperties(prefix="girl")//获取前缀是girl的配置 public class GirlProperties { private String grade; private Integer age; public String getGrade() { return grade; } public void setGrade(String grade) { this.grade = grade; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }

在application.yml中的配置如下:

girl:  
 grade: F
 age: 18

controller类代码:

@RestController
public class HelloController {
    
//注入GirlProperties这个bean @Autowired
private GirlProperties girlProperties; @RequestMapping(value="/hello", method = RequestMethod.GET) public Integer say(){ return girlProperties.getAge(); } }

我们通常会遇到开发环境和生产环境配置不一致的情况,作为一名有优秀的程序员,我们不能讲我们的时间浪费在频繁的改配置上,所以我们建立两套配置文件:

Application-dev.yml

server:
  port: 8080
  context-path: /girl 
girl:  
 grade: F
 age: 20

Application-prod.yml

server:
  port: 8080
  context-path: /girl
 
girl:  
 grade: B
 age: 18

而在Application.yml配置:

spring:
 profiles:
    active: dev #我们使用dev的配置,当需要更改为prod配置时只需要在这个地方换个参数即可。
原文地址:https://www.cnblogs.com/xiangkejin/p/8484726.html