springboot 采用application.yaml 自动装配注入步骤。
1.首先 建立User类
@Component @ConfigurationProperties(prefix = "user") //加注解表明 User 类中的所有值 都由 yaml文件自动注入 ,变量名称必须相同,否则 会出现空值。 public class User { public int getUid() { return Uid; } public void setUid(int uid) { Uid = uid; } public String getName() { return Name; } public void setName(String name) { Name = name; } private int Uid; private String Name; public List<String> getHobbies() { return Hobbies; } public void setHobbies(List<String> hobbies) { Hobbies = hobbies; } private List<String > Hobbies; public User() { } public User(int uid, String name) { Uid = uid; Name = name; } @Override public String toString() { //切记不要忘记该方法,否则单元测试 print(u)没有具体值 return "User{" + "Uid=" + Uid + ", Name='" + Name + '\'' + ", Hobbies=" + Hobbies + '}'; } }
2.建立 application.yaml文件
在main/resources/ 建立yaml文件 内容如下:
user: Name: 张三丰 Uid: 1205 Hobbies: - 篮球 - 足球 - 乒乓球
冒号后必须有一个空格否则spring不识别。
其他要求如下图:

3.单元测试 运行以下代码
@SpringBootTest class Springboot01ApplicationTests { @Autowired User u; @Test void contextLoads() { System.out.println(u); } }

结果如下图:

书写yaml文件注意事项:
yaml基础语法
说明:语法要求严格!
1、空格不能省略
2、以缩进来控制层级关系,只要是左边对齐的一列数据都是同一个层级的。
3、属性和值的大小写都是十分敏感的。
字面量:普通的值 [ 数字,布尔值,字符串 ]
字面量直接写在后面就可以 , 字符串默认不用加上双引号或者单引号;
k: v
注意:
-
“ ” 双引号,不会转义字符串里面的特殊字符 , 特殊字符会作为本身想表示的意思;
比如 :name: "kuang \n shen" 输出 :kuang 换行 shen
-
'' 单引号,会转义特殊字符 , 特殊字符最终会变成和普通字符一样输出
比如 :name: ‘kuang \n shen’ 输出 :kuang \n shen
对象、Map(键值对)
#对象、Map格式
k:
v1:
v2:
在下一行来写对象的属性和值得关系,注意缩进;比如:
student:
name: qinjiang
age: 3
行内写法
student: {name: qinjiang,age: 3}
数组( List、set )
用 - 值表示数组中的一个元素,比如:
pets:
- cat
- dog
- pig
行内写法
pets: [cat,dog,pig]
修改SpringBoot的默认端口号
配置文件中添加,端口号的参数,就可以切换端口;
server:
port: 8082
浙公网安备 33010602011771号