前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot零散知识总结

Spring Boot零散知识总结

作者头像
lyb-geek
发布2022-03-09 18:19:34
1720
发布2022-03-09 18:19:34
举报
文章被收录于专栏:Linyb极客之路Linyb极客之路

一、@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= 设置配置文件的路径。在项目启动时候行动态的设置。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linyb极客之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、@Value与@ConfigurationProperties
  • 二、@ImportResource与@PropertySource
  • 三、Spring Boot 全局配置文件路径设置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档