springboot @ConfigurationProperties和@PropertySource的区别

 更新时间:2021年06月11日 16:54:40   作者:你怎么敢的呀  
这篇文章主要介绍了springboot @ConfigurationProperties和@PropertySource的区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

springboot @ConfigurationProperties和@PropertySource区别

@ConfigurationProperties:寻找的是全局配置文件

@PropertySource:寻找的是指定的配置文件

理解里面有一个参数 value,可以指定很多个配置文件,所以是使用一个数组{}

springboot推荐使用这种方式给容添加组件:

创建一个config包,然后在包下创建一个class

使用@bean给容器中添加组件

springboot 使用@ConfigurationProperties和@PropertySource的问题

在使用Springboot时我们经常把一些key-value的属性值配置在

.properties配置文件中,我们想通过@Value搭配Spring EL来读取配置文件中的值来给我们的变量赋值。

在spring1.5一下提供了一个类注解:

@ConfigurationProperties:

常用的两个属性是:

locations:指定配置文件

prefix:指定该配置文件中的某个属性群的前缀

但是使用spring1.5时,源码部分做了修改,去掉了locations属性,所以另一个注解就上场啦

@PropertySource:

value:这里指定配置文件,替代原来@ConfigurationProperties的locations

encoding:指定读取配置文件时的编码

这个encoding很重要,如果不指定使用默认的话很可能出现读取乱码的情况,我写demo就遇到了,百度了很多解决方案都是从ide工具本身入手,根本不能解决问题,最后还是我自己看注解的源码才发现有这个属性的。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Java串行化接口的用法和原理

    详解Java串行化接口的用法和原理

    在Java开发中,我们经常需要将对象进行序列化和反序列化,以便在网络传输或存储到持久化介质中,Java提供了一种机制,即通过实现Serializable接口来实现对象的串行化,本文将详细介绍Java串行化接口的用法和原理,以及一些相关的注意事项,需要的朋友可以参考下
    2023-11-11
  • SpringSecurity实现权限认证与授权的使用示例

    SpringSecurity实现权限认证与授权的使用示例

    本文主要介绍了SpringSecurity实现权限认证与授权的使用示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • SpringBoot自定义注解验证枚举的实现

    SpringBoot自定义注解验证枚举的实现

    本文主要介绍了SpringBoot自定义注解验证枚举的实现,数据校验,需要对枚举类型的数据传参,进行数据校验,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • Spring Boot JPA中使用@Entity和@Table的实现

    Spring Boot JPA中使用@Entity和@Table的实现

    这篇文章主要介绍了Spring Boot JPA中使用@Entity和@Table的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Java并发系列之Semaphore源码分析

    Java并发系列之Semaphore源码分析

    这篇文章主要为大家详细介绍了Java并发系列之Semaphore源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • springboot实现多文件上传功能

    springboot实现多文件上传功能

    这篇文章主要为大家详细介绍了springboot实现多文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • MybatisPlus使用Wrapper实现条件查询功能

    MybatisPlus使用Wrapper实现条件查询功能

    这篇文章主要介绍了MybatisPlus使用Wrapper实现查询功能,使用它可以实现很多复杂的查询,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Maven设置JDK版本的两种方法实现

    Maven设置JDK版本的两种方法实现

    本文主要介绍了Maven设置JDK版本的两种方法实现,是通过Apache Maven Compiler Plugin插件实现的,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • java学习之jar包的下载和导入

    java学习之jar包的下载和导入

    我们经常碰到有些jar包在中央仓库没有的情况,这时候我们需要导入,这篇文章主要给大家介绍了关于java学习之jar包的下载和导入的相关资料,需要的朋友可以参考下
    2023-06-06
  • java HashMap的keyset实例

    java HashMap的keyset实例

    简单地说,在keyset方法返回的set上做修改会改变原来hashmap,这也许不是你想要的,于是形成一个隐藏的bug
    2013-04-04

最新评论