yaml通过@ConfigurationProperties和@Value方式注入值,@PropertySource(观感)

来自颜群老师的SpringBoot课程

application.properties 赋值

映射名 + 属性
如:student.name / student.age
在这里插入图片描述

application.yml 赋值

在这里插入图片描述

@value 注解 赋值

无论什么类型,都得加上 “”

绑定

示例@ConfigurationProperties(yml/properties)@Value(“xx”)
注解@ConfigurationProperties@Value
注值批量注入单个
松散语法支持不支持
SpEL(spring表达式)不支持支持
JSR303数据校验支持不支持
注入复杂类型支持复杂类型不支持复杂类型

简单类型

8个 + String + Date

什么是松散语法

例如:属性名字为 userName ,松散写法为:user-name,其在配置文件中等价

什么是SpEL

简言之,就是写取出已在配置文件中赋值过的,属性的值
例如:在 properties中配置了

student:
    uname: kj

使用SpEL 可以在@Value 中取出。格式为:“${student.name}”

SpEL

这样写可以取得到properties 中的值
在这里插入图片描述

JSR303数据校验

注解配置

在这里插入图片描述

观察检测结果

在这里插入图片描述

@PropertySource

系统默认会加载application.properties/application.yml 文件的数据,但如果想要获取非系统默认配置文件中的值,就需要@PropertySource

例子:

  1. 将application.properties 改名为 -> conf.properties
  2. 在JavaBean 类中加上 @PropertySource(“value={“classpaht:conf.properties”}”) 就可以让系统识别该文件

注意:该注解只会识别 .properties 后缀的文件,不能够识别 .yml文件

ImportResource

spring boot 自动装配/自动配置
spring 等配置文件<bean>,默认会被spring boot 自动给配置好</bean>

如果要自己编写 spring 等配置文件,spring boot 能否识别?
默认是不识别的。如果需要系统识别,则需要在spring boot 主配置类上,通过@ImportResource 指定配置文件的路径
在这里插入图片描述

加上了这一句之后,系统就能识别spring 的配置文件了


但是不推荐手写spring 配置文件
配置:xml 配置文件,通过注解配置
spring boot 推荐使用注解方式进行配置:写一个类,@Configuration @Bean

加载spring 配置类,通过@Configuration 和 @Bean

  1. 创建一个 spring.xml 并配置
    在这里插入图片描述

  2. 在测试类中 通过@Autowired 引入

  3. 创建一个配置类 AppConfig.java,在类的前面配上注解 @Configuration;实现类下的方法,这个方法对应配置类中声明的id名字
    在这里插入图片描述

  4. 调用测试类测试,通过解析xml 文件,对 中的id 的字符串的映射,来确定执行的方法。
    在这里插入图片描述

  5. 测试成功
    在这里插入图片描述

随机占位符

在这里插入图片描述

使用方法

  1. 在properties/yml 中给属性赋值时可以使用
    例如:

    	student:
    		name: ${random.value} #表示随机字符串
    
  2. yml 调用 properties 中的值时

    	properties:
    		student.user.name=wuyifan
    	yml:
    		student:
    			name: ${student.user.name}
    

    就可以调用 properties 中的值了

深入

如果传值失败,可以设置默认值
例如:

	student:
		name: {student.user.name:Van Darkhomle}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加把劲骑士RideOn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值