SpringBoot-黑马程序员-学习笔记(二)
22.读取yaml文件中的属性
3个步骤:
1.写yaml文件
2.在控制类里面定义变量
3.在变量上面用 " @Value注解 + ${} " 获取yaml文件的属性
代码演示:
yaml文件
控制类:
访问网址books后:
读取到了对应了值
23.yaml文件中的变量引用
在yaml文件中如果有多条属性有某个相同的部分,那在修改这个值的时候就需要修改所有的值,而使用变量的话就避免了这个问题。
使用的方式与在@Value注销中是一样的,都是 ${} 这种方式。
而如果值中包含了转义字符,就需要使用双引号包裹才能生效。
24.用自动装配注解将yaml文件中的所有属性放到一个变里面,变量类型是Environment(环境)
向上一节那样一个属性一个属性地取比较麻烦,boot提供了更简便的方法来获取yaml里面的所有属性。
@RestController
@RequestMapping("/books")
public class BookController {
//读取yaml里面的值
@Value("${user.nae}")
private String name;
@Value("${user.age}")
private int age;
//自动装配注解
@Autowired
private Environment environment;
@GetMapping
public String getById(){
System.out.println("springboot is running ...");
System.out.println("age"+age);
System.out.println("name"+name);
System.out.println("------------------------------------");
//这里使用getProperty方法使用属性
System.out.println(environment.getProperty("user.nae"));
System.out.println(environment.getProperty("user.age"));
return "springboot is running ...";
}
}
25.读取yaml文件中部分属性
说是部分属性,实际上指的是某个对象的全部属性,就是一个对象一个对象地从yaml文件中取。
这种方式是目前主流,并且springboot底层也使用的是该方式。
1.写一个用来封装yaml文件中的要获取的对象的类
2.用@Component把这个类交给spring管理
3.使用@ConfigurationProperties("user")注解来指定该类要封装yaml文件中的哪个属性
23.整合JUnit
等学完整合MyBatis和MyBatis-Plus以及Druid后,要总结出一个springboot整合各种技术的套路,即第一步,第二步,第三步这样
要使用测试类来测试方法
1.注入你要测试的对象,用 @Autowired自动装配 2.执行要测试的对象的方法
@SpringBootTest
class SpringbootJUnitApplicationTests {
//1.注入你要测试的对象,用 @Autowired自动装配
//2.执行要测试的对象的方法
@Autowired
private BookImpl book;
@Test
void contextLoads() {
book.save();
}
}
如果测试类运行错误: