乐趣区

SpringBoot 基础配置 & Hello Word

基础配置
  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/index2. 通过 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/Sp…

退出移动版