• SpringBoot-黑马程序员-学习笔记(二)


    22.读取yaml文件中的属性

    3个步骤:

    1.写yaml文件

    2.在控制类里面定义变量

    3.在变量上面用 " @Value注解 + ${} " 获取yaml文件的属性

    代码演示:

    yaml文件

     

    控制类:

     

    访问网址books后:

    读取到了对应了值

    23.yaml文件中的变量引用

    在yaml文件中如果有多条属性有某个相同的部分,那在修改这个值的时候就需要修改所有的值,而使用变量的话就避免了这个问题。

    使用的方式与在@Value注销中是一样的,都是 ${} 这种方式。

    而如果值中包含了转义字符,就需要使用双引号包裹才能生效。

    24.用自动装配注解将yaml文件中的所有属性放到一个变里面,变量类型是Environment(环境)

    向上一节那样一个属性一个属性地取比较麻烦,boot提供了更简便的方法来获取yaml里面的所有属性。

    1. @RestController
    2. @RequestMapping("/books")
    3. public class BookController {
    4. //读取yaml里面的值
    5. @Value("${user.nae}")
    6. private String name;
    7. @Value("${user.age}")
    8. private int age;
    9. //自动装配注解
    10. @Autowired
    11. private Environment environment;
    12. @GetMapping
    13. public String getById(){
    14. System.out.println("springboot is running ...");
    15. System.out.println("age"+age);
    16. System.out.println("name"+name);
    17. System.out.println("------------------------------------");
    18. //这里使用getProperty方法使用属性
    19. System.out.println(environment.getProperty("user.nae"));
    20. System.out.println(environment.getProperty("user.age"));
    21. return "springboot is running ...";
    22. }
    23. }
     
    

    25.读取yaml文件中部分属性

    说是部分属性,实际上指的是某个对象的全部属性,就是一个对象一个对象地从yaml文件中取。

    这种方式是目前主流,并且springboot底层也使用的是该方式。

    1.写一个用来封装yaml文件中的要获取的对象的类

    2.用@Component把这个类交给spring管理

    3.使用@ConfigurationProperties("user")注解来指定该类要封装yaml文件中的哪个属性

    23.整合JUnit

    等学完整合MyBatis和MyBatis-Plus以及Druid后,要总结出一个springboot整合各种技术的套路,即第一步,第二步,第三步这样

    要使用测试类来测试方法

    1.注入你要测试的对象,用 @Autowired自动装配
    2.执行要测试的对象的方法
    1. @SpringBootTest
    2. class SpringbootJUnitApplicationTests {
    3. //1.注入你要测试的对象,用 @Autowired自动装配
    4. //2.执行要测试的对象的方法
    5. @Autowired
    6. private BookImpl book;
    7. @Test
    8. void contextLoads() {
    9. book.save();
    10. }
    11. }

    如果测试类运行错误:

  • 相关阅读:
    mongodb的简单查询
    python 编写简单的程序解释器(十一)
    DBeaver连接Oracle数据库,缺少数据驱动
    代码随想录—力扣算法题:07.链表相交. Java版(示例代码与导图详解)
    ChatGPT高级数据分析功能
    【C++游戏引擎Easy2D】树形模型节点详解
    158_模型_Power BI 使用 DAX + SVG 打通制作商业图表几乎所有可能
    netcore MediatR
    网络安全(黑客技术)2024年三个月自学手册
    利用 Google Artifact Repository 构建docker 镜像仓库
  • 原文地址:https://blog.csdn.net/Dennis_nafla/article/details/133714168