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

posted on 2021-10-31 20:09  码农at突泉  阅读(413)  评论(0)    收藏  举报