利用配置文件将属性注入到bean程序里面去,下面是各个情况的总结:
首先我先新建一个bean(beans.User类)来完成演示:
package org.example.springbootdemo.beans;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
//自动生成相关代码,在类里面不用写getter和setter避免代码冗杂
@Data
@Component
@ConfigurationProperties(prefix = "uesr")
public class User {
private String name;
private Integer age;
private Date birthday;
private List<String> hobbies;
private Map<String,Integer> Grade;
private Address address;
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", birthday=" + birthday +
", hobbies=" + hobbies +
", Grade=" + Grade +
", address=" + address +
'}';
}
}
package org.example.springbootdemo.beans;
public class Address {
private int id;
private String desc;//地址
@Override
public String toString() {
return "Address{" +
"id=" + id +
", desc='" + desc + '\'' +
'}';
}
}
在测试文件中:每次测试都运行contextLoads测试类
package org.example.springbootdemo;
import org.example.springbootdemo.beans.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class SpringbootdemoApplicationTests {
@Autowired
private User user;
@Test
void contextLoads() {
System.out.println(user);
}
}
将YAML映射到属性
字面量:普通的值(数字,字符串,布尔)
- k:v:字面直接来写;
- 字符串默认不用加上单引号或者双引号
- "":双引号:不会转义字符串里面的特殊字符;特殊字符会作为本身想表达的意思:name:"原\n子";输出:原 (换行) 子。
- '':单引号:回转义特殊字符,特殊字符最终只是一个普通的字符串数据:name:'yuan\nzi':输出:yuan\nzi。
对象:
Map(属性和值)(键值对)
k:v:在下一行写出对象的属性和值的关系;注意缩进。
前面是属性后面是值
uesr:
grade:
java: 100
math: 79
行内写法
uesr:
grade: {java: 100,math: 88}
数组(List,set)
用-键来表示每一个值
uesr:
hobbies:
- 唱跳
- rap
- 篮球
行内写法
uesr:
hobbies: [唱跳,rap,篮球]
类中类
与map书写模式相仿
uesr:
address:
id: 19
desc: 咸宁
松散绑定:
以下这四种绑定命名是可以自动绑定bean属性:user.name的 (反过来应用也是可以的)
uesr:
na_me: 原子 //蛇形绑定
uesr:
na-me: 原子 //烤串绑定
uesr:
Name: 原子 //驼峰绑定
uesr:
NAME: 原子
@ConfigurationProperties | @Value | |
---|---|---|
功能 | 批量呼入属性 | 一个个指定 |
松散绑定 | 支持 | 支持有限 |
SpEL | 不支持 | 支持 |
自动提示 | 支持 | 不支持 |
JSR303数据校验 | 支持 | 不支持 |
标签:uesr,name,配置文件,spring,绑定,boot,private,import,org From: https://blog.csdn.net/atomy_iiii/article/details/137168512