1.11SpringBoot之yml文件配置

1.11SpringBoot之yml文件配置,第1张

1.配置是有顺序的

2.不能自定义 例:book.yml

3.有明显的层级关系

server:
  port: 8081
  tomcat:
    accesslog:
      enabled: true

而且key-value是有空格的

关于数组和对象的注入

package org.javax.demo01;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

import java.util.Arrays;
import java.util.List;

/**
 * @ClassName: Book
 * @Author: XIAO_骁
 * @Date: 2022/4/25 11:08
 * @Description: TODO
 */
@Component
@ConfigurationProperties(prefix = "book")
public class Book {
    private String name;
    private List authors;
    private String[] tags;
    private List categories;

    public List getCategories() {
        return categories;
    }

    public void setCategories(List categories) {
        this.categories = categories;
    }

    public String[] getTags() {
        return tags;
    }

    public void setTags(String[] tags) {
        this.tags = tags;
    }

    public String getName() {
        return name;
    }

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

    public List getAuthors() {
        return authors;
    }

    public void setAuthors(List authors) {
        this.authors = authors;
    }

    @Override
    public String toString() {
        return "Book{" +
                "name='" + name + '\'' +
                ", authors=" + authors +
                ", tags=" + Arrays.toString(tags) +
                ", categories=" + categories +
                '}';
    }
}
package org.javax.demo01;

/**
 * @ClassName: author
 * @Author: XIAO_骁
 * @Date: 2022/4/25 16:02
 * @Description: TODO
 */
public class author {
    private String name;
    private String age;

    public String getName() {
        return name;
    }

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

    public String getAge() {
        return age;
    }

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

    @Override
    public String toString() {
        return "author{" +
                "name='" + name + '\'' +
                ", age='" + age + '\'' +
                '}';
    }
}
book:
  name: 水浒传
  authors:
    - name: 罗贯中
      age: 68
    - name: 曹雪芹
      age: 58
  tags:
    - 奇幻
    - 古典
  categories:
    - 小说
    - 历史
package org.javax.demo01;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class Demo01ApplicationTests {
@Autowired
    Book book;
    @Test
    void contextLoads() {
        System.out.println("book " + book);
    }
}

从实体类到yml文件是根据get set方法进行对应的,与变量的名字无关,就算将 private String name;变成private String aaa;只要get set名字不变就可以注入,这一就是变量为什么首字母小写(和yaml没有关系)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/742307.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存