Spring Boot零散知识总结

一、@Value@ConfigurationProperties

@Value@ConfigurationProperties 都可以用于配置文件与 JavaBean 中的属性映射,主要有以下区别

对比项@ConfigurationProperties@Value
作用批量注入配置文件中的属性单个指定配置文件中的属性
松散语法(userName->user-name)支持不支持
SpEl表达式不支持支持
JSR303数据校验支持不支持
复杂的数据类型(map)支持不支持

@ConfigurationProperties:一般用于配置文件与 JavaBean 的映射

@Value:一般用于与某个值的映射

二、@ImportResource@PropertySource

@ImportResource:因为 Spring Boot 项目默认是没有 Spring 配置文件的,可以使用这个注解引入自定义的 Spring 配置文件。

注意:加在入口类上才会生效,例如:@ImportResource(locations = {"classpath:spring-bean.xml"})。因为 Spring Boot 本身就是为了简化配置的,因此一般使用注解的形式来代替这种配置文件的形式,来注入 Bean。
这里写图片描述
@PropertySource:指定全局配置文件的路径,从而完成配置文件与 JavaBean 属性的映射。例如:@PropertySource(value = {"classpath:person.properties"})
这里写图片描述

三、Spring Boot 全局配置文件路径设置

Spring boot 默认会扫描 application.properties 或者 application.yml 配置文件,自动扫描的路径有以下 4 个:

按照优先级排序为:file/config/file/classpath/config/classpath/,高优先级会覆盖低优先级的配置文件。采用的覆盖非失效覆盖,而是通过覆盖实现互补配置。

项目发布的时候,还可以通过命令参数 spring.config.location= 设置配置文件的路径。在项目启动时候进行动态的设置。

PS:后面接触到了会陆续补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值