0
点赞
收藏
分享

微信扫一扫

SpringBoot2-基础配置

一ke大白菜 2022-03-30 阅读 46

maven的结构下,配置文件都写在resources目录下。

在boot中对应的配置文件是application.properties。

1、SpringBoot的三种属性配置方式:

  • application.properties(传统格式/默认格式)
  • application.yml(主流格式)
  • application.yaml

SpringBoot配置文件加载顺序:

application.properties > application.yml > application.yaml

注意:不同配置文件中相同配置按照加载优先级相互覆盖,不同配置文件中不同配置全部保留

YAML(YAML Ain't Markup Language),一种数据序列化格式 。

语法核心规则:数据前面要加空格与冒号隔开

数组书写格式 

subject:
	- Java
	- 前端
	- 大数据
enterprise:
	name: itcast
    age: 16
    subject:
    	- Java
        - 前端
        - 大数据
likes: [王者荣耀,刺激战场]			#数组书写缩略格式
users:							 #对象数组格式一
  - name: Tom
   	age: 4
  - name: Jerry
    age: 5
users:							 #对象数组格式二
  -  
    name: Tom
    age: 4
  -   
    name: Jerry
    age: 5			    
users2: [ { name:Tom , age:4 } , { name:Jerry , age:5 } ]	#对象数组缩略格式

2、SpringBoot读取数据 

  • 读取单一数据:
  1. 使用@Value可以读取单个数据

  2. 属性名引用方式:${一级属性名.二级属性名……}

//yml配置文件

country: china

user1:
  name: satoppi

users:
  - name: satoppi
    age: 17
  - name: kappei
    age: 17

likes:
  - game
  - music
  - sleep
@Value("${country}")
private String country1;

@Value("${user1.name}")
private String name1;

@Value("${likes[1]}")
private String likes1;

@Value("${users[1].age}")
private String age1;
  •  读取全部数据:
  1. 使用Environment对象封装全部配置信息

  2. 使用@Autowired自动装配数据到Environment对象中

//使用自动装配将所有的数据封装到一个对象Environment中
@Autowired
private Environment env;
  • 读取对象数据 (主流)

        创建类,用于封装下面的数据,由Spring帮我们去加载数据到对象中,一定要告诉Spring加载的这组信息,使用的时候从Spring中直接获取信息使用。

datasource:
  driver: com.mysql.jdbc.Driver
  url: jdbc:mysql://localhost/springboot_db
  username: root
  password: 123abc

1)定义数据模型封装yml文件中对应的数据

2)定义为Spring管控的bean(加上@Component

3)指定加载的数据(加上@ConfigurationProperties(prefix = "datasource")),prefix可省略不写


@Component
@ConfigurationProperties(prefix = "datasource")
public class MyDataSource {

    private String driver;
    private String url;
    private String username;
    private String password;

    public String getDriver() {
        return driver;
    }

    public void setDriver(String driver) {
        this.driver = driver;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "MyDataSource{" +
                "driver='" + driver + '\'' +
                ", url='" + url + '\'' +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }

 3、SpringBoot引用数据:

  1. 在配置文件中可以使用${属性名}方式引用属性值

  2. 如果属性中出现特殊字符,可以使用双引号包裹起来作为字符解析

baseDir: /usr/local/fire
	center:
    dataDir: ${baseDir}/data
    tmpDir: ${baseDir}/tmp
    logDir: ${baseDir}/log
    msgDir: ${baseDir}/msgDir

举报

相关推荐

0 条评论