springboot的yml基本配置使用格式(只有格式正确才会变颜色)

注意:在使用Springboot配置时,username、user.name属性获取的直接是电脑用户,而不是我们设置的值,所以需要注意避免一下这两个命名

1.普通格式

#一般数据 key: value 表示key加上英文冒号 一个空格 加上value
#key: value
username1: 李四
1.1 代码使用

使用@value注解通过占位符#{}来获取配置文件的属性

	@Value("${username1}")
    private String username;
    /*
     *一般属性使用
     */
    @RequestMapping("/test")
    public String sayHello(){
        return "username:"+username;
    }
1.2 测试页面展示springboot的yml基本配置使用格式(只有格式正确才会变颜色)_第1张图片

2.对象数据(bean)

#pojo对象数据或map数据(要想使用就必须定义一个bean类 
#使用@ConfigurationProperties注解输入属性值 然后存入核心容器 使用是直接注入)
#也可以直接@value注解使用${user.age}使用其中某个属性
#对象名称: 回车+两个空格 属性名: 一个空格value
#key:  回车
#  key1: value 冒号加一个空格
#  key2: value
user:
  name1: 老王
  age: 18
2.1 代码使用

首先设置bean将数据存入,需要写set方法

@Component
@ConfigurationProperties(prefix = "user")
//prefix是前缀名 也就是我最终使用效果是user.name1 中的user
// 也就是配置文件中的key的前缀
public class User {
  private String name1;
  private Integer age;

  public void setName1(String name1) {
      this.name1 = name1;
  }

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

  public Integer getAge() {
      return age;
  }

  @Override
  public String toString() {
      return "User{" +
              "name1='" + name1 + '\'' +
              ", age=" + age +
              '}';
  }

  public String getName1() {
      return name1;
  }
}

正式使用

	//注入整个对象
    @Autowired
    private User user;
    //直接从配置文件获取属性
    @Value("${user.age}")
    private Integer age;
    /*
     *对象属性使用
     */
    @RequestMapping("/test")
    public String sayHello(){
        return "user对象:"+user+"====直接从配置文件获取age:"+age;
    }
2.2 测试页面展示

springboot的yml基本配置使用格式(只有格式正确才会变颜色)_第2张图片

3.普通list集合

#用逗号隔开
#  普通集合类型 也是需要用bean来传输数据
#key:回车
#  value1,value2
city:
  北京,上海

对应集合的bean

@Component
@ConfigurationProperties()
public class City {
    private List<String> city;

    @Override
    public String toString() {
        return "City{" +
                "city=" + city +
                '}';
    }

    public List<String> getCity() {
        return city;
    }

    public void setCity(List<String> city) {
        this.city = city;
    }
}

正式使用

	@Autowired
    private City city;
    /*
     *使用普通的集合对象
     */
    @RequestMapping("/test")
    public String sayHello(){
        return "city集合:"+city.getCity()+"***集合中第一个属性的值"+city.getCity().get(0);
    }
3.2 测试效果

在这里插入图片描述

4. 对象集合

#使用方法是一样的
#用-加空格 表示对象 后面接对象属性
#key:
#  -key1: value1
#   key2: value2
#  -key1: value3
#   key2: value4
userList:
  - name1: 张三
    age: 18
  - name1: 李四
    age: 99

对应集合的bean

@Component
@ConfigurationProperties()
public class UserList {
    private List<User> userList;

    public List<User> getUserList() {
        return userList;
    }

    public void setUserList(List<User> userList) {
        this.userList = userList;
    }
}

正式使用

	@Autowired
    private City city;
    /*
     *使用普通的集合对象
     */
    @RequestMapping("/test")
    public String sayHello(){
        return "city集合:"+city.getCity()+"***集合中第一个属性的值"+city.getCity().get(0);
    }
4.2 测试效果

在这里插入图片描述

你可能感兴趣的:(yml,springboot)