基础配置

  yml跟properties
    设置端口为:8000
    application.properties

server.port=8000
server.context-path=/shuibo

    application.yml

server:
  port: 8000
  context-path: shuibo #使用localhost:8000/shuibo

  YAML

    YAML是JSON的一个超集,是一种结构层次清晰明了的数据格式,简单易读易用, Spring Boot对SnakeYAML库做了集成,所以可以在Spring Boot项目直接使用。


  Spring Boot配置优先级顺序,从高到低:

  • 命令行参数
  • 通过System.getProperties()获取的Java系统参数
  • 操作系统环境变量
  • 从java:comp/env得到JNDI属性
  • 通过RandomValuePropertySource 生成的“random.*”属性
  • 应用Jar文件之外的属性配置文件,通过spring.config.location参数
  • 应用Jar文件内部的属性文件
  • 在应用配置 Java 类(包含“@Configuration”注解的 Java 类)中通过“@PropertySource”注解声明的属性文件

– 通过“SpringApplication.setDefaultProperties”声明的默认属性。

配置环境

一般在实际项目中会有多个环境,比如:
测试环境 -> 正式环境 ->

每个环境的配置比如:Sql链接,redis配置之类都不一样,通过配置文件决定启用的配置文件。

spring:
  profiles:
    active: pro

获取配置

1.在application.yml配置key value
例如:

获取配置

浏览器输入:localhost:8000/index

2.通过ConfigBean
添加配置

创建ConfigBean

@Component
@ConfigurationProperties(prefix = "bobby")//获取前缀为bobby下的配置信息
public class ConfigBean {

    private String name;//名字与配置文件中一致
    private Integer age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

获取配置

@RestController
public class IndexController {

    @Autowired
    private ConfigBean configBean;

    @RequestMapping("/config")
    public String config(){
        return "姓名:" + configBean.getName() + ",年龄:" + configBean.getAge();
    }
}

浏览器输入:localhost:8000/config

小结

  本文讲述了配置文件的加载顺序,properties跟yml区别,通过两种方式读取配置文件。
本文GitHub地址:https://github.com/ishuibo/SpringAll

   
     
本文作者:      
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
扫码关注不迷路!

发表评论

电子邮件地址不会被公开。 必填项已用*标注