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

22.读取yaml文件中的属性

3个步骤:

1.写yaml文件

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

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

代码演示:

yaml文件

控制类:

访问网址books后:

读取到了对应了值

23.yaml文件中的变量引用

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

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

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

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

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

java 复制代码
@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.执行要测试的对象的方法
java 复制代码
@SpringBootTest
class SpringbootJUnitApplicationTests {

    //1.注入你要测试的对象,用 @Autowired自动装配
    //2.执行要测试的对象的方法
    @Autowired
    private BookImpl book;
    @Test
    void contextLoads() {
        book.save();
    }

}

如果测试类运行错误:

相关推荐
星光技术人24 分钟前
投机采样 Speculative Decoding 核心笔记
人工智能·笔记·深度学习·计算机视觉·语言模型·自动驾驶
码途漫谈1 小时前
Easy-Vibe高级开发篇阅读笔记(二十)——多平台开发之个人网页与博客开发
人工智能·笔记·ai·开源·ai编程
码途漫谈1 小时前
Easy-Vibe高级开发篇阅读笔记(二十一)——AI能力强化之RAG 与企业级智能客服
人工智能·笔记·ai·开源·ai编程
薛定猫AI1 小时前
【深度解析】Hermes Agent:持久记忆、自学习闭环与桌面化 Autonomous AI 工作流实践
人工智能·学习
谙弆悕博士1 小时前
快速学C语言—— 第0章:C语言简介
c语言·开发语言·经验分享·笔记·程序人生·课程设计·学习方法
老虎06272 小时前
黑马程序员苍穹外卖--学习笔记(苍穹外卖万字总结—重点知识,面试常见问题)超全
笔记·学习·面试
sealaugh322 小时前
react native(学习笔记第四课) 英语打卡微应用(3)-ocr的文字转化成语音文件(tts)
笔记·学习·react native
江湖有缘2 小时前
容器化笔记:Memory应用在Docker环境下的部署与配置
笔记·docker·容器
小新同学^O^2 小时前
简单学习 --> SpringAOP
java·学习·spring·aop
炽烈小老头2 小时前
【每天学习一点算法 2026/05/10】合并K个排序链表
学习·算法·链表