SpringBoot#ConfigurationProperties注解相关的一些知识

用途:
ConfigurationProperties注解,用于在spring环境定义bean的时候。通过这个注解,把配置文件中的相关属性注入到实例化的bean中。

原理:
spring中bean的生命周期特性。容器处理ConfigurationProperties注解所标注的方法(设为M1),会调用实现了某一个实现了BeanPostProcessor的bean后置处理器,这个处理器会通过ConfigurationProperties指定的prefix从配置文件中读取属性与值,赋给M1所创建的bean的相关属性。

拓展:

  1. 可以利用这个ConfigurationProperties注解,完成自定义的bean(一般用于系统的配置属性的封装)的属性从配置文件中的加载,从而避免通过Value这种方式到处加载配置文件中的配置值。
  2. 通过自定义BeanPostProcesser实现某些特定bean实例化后的特殊操作。

更多:
spring中利用bean的生命周期内可以做到很多事情。具体的说是,bean实现一些接口,从而具有某些功能,或者获取某些值。
这些接口有:

  1. BeanNameAware
  2. BeanFactoryAware
  3. ApplicationContextAware
  4. BeanPostProcessor
  5. InitializingBean
  6. DisposableBean

原文地址:https://www.cnblogs.com/luohaonan/p/11576636.html

时间: 2024-07-31 12:58:41

SpringBoot#ConfigurationProperties注解相关的一些知识的相关文章

Springboot使用@ConfigurationProperties注解 配置读不进去

首先写依赖 1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-configuration-processor</artifactId> 4 <optional>true</optional> 5 </dependency> @ConfigurationProperties注解的类如下 @C

Spring SpringMVC SpringBoot SpringCloud 注解整理大全

Spring SpringMVC SpringBoot SpringCloud 注解整理 这段时间学习了一些框架,里面用到了很多注解,记不住所以把遇到的注解都整理了下来,如果有不对的地方欢迎指正,我会修改的φ(??∀??)? Spring 常用配置: @import :导入配置类 @Scope : 新建Bean的实例 @Scope("prototype") 声明Scope 为 Prototype @Value : 属性注入 @Value ("我爱你") -->

springBoot 自定义注解 + 自定义异常捕获实战

1.准备工作:需要一个正常的springBoot程序 和 添加一个注解相关的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> 2.项目大致目录结构 由于项目用于商业就不提供全部源码了 3.自定义注解类(为什么要这么定义 我也是抄的百度,能实现

springboot @ConfigurationProperties

Spring Boot 提供了一种方式 --类型安全的bean,能够根据类型校验和管理application中的bean.继续使用author做例子.配置放在author.properties文件中.属性必须命名规范才能绑定成功. 上例中我们用@ConfigurationProperties注解就可以绑定属性了.ignoreUnknownFields = false告诉Spring Boot在有属性不能匹配到声明的域的时候抛出异常.开发的时候很方便! prefix 用来选择哪个属性的prefix

[转]一些NSArray,NSDictionary,NSSet相关的算法知识

iOS编程当中的几个集合类:NSArray,NSDictionary,NSSet以及对应的Mutable版本,应该所有人都用过.只是简单使用的话,相信没人会用错,但要做到高效(时间复杂度)精确(业务准确性),还需要了解其中所隐藏的算法知识. 在项目当中使用集合类几乎是不可避免的,集合类的使用场景其实可以进行抽象的归类.大多数时候我们需要将若干个对象(object)暂时保存起来,以备后续的业务逻辑进行操作,「保存和操作」,或者说「存与取」,对应到计算机世界的术语就是读和写.最初保存的时候我们Ins

音频相关的基本知识

最近的项目需要和音频打交道,所以网上搜集了一些音频相关的基本知识,整理如下 自然界中的声音非常复杂,波形极其复杂,通常我们采用脉冲编码码调制编码,即PCM编码.PCM编码通过抽样.量化.编码三个步骤将连续变化的模拟信号转换为数字信号 采样(sample) 数码音频系统是通过将声波波形转换成一连串的二进制数据来再现原始声音的(原始声音是模拟信号),实现这个步骤使用的设备是模/数转换器(A/D转换器,或者ADC,或者analog to digital convert).它以每秒上万次的速率对声波进行

操作系统相关硬件基础知识

http://blog.csdn.net/oqq_5518/article/details/35232097 相关知识:数字逻辑电路.计算机组成原理. 操作系统 开关呈开启状态,给予一定的电压,通电,1. 开关呈关闭状态,断电,0. 运算器.控制器.存储器.输入设备.输出设备 利用控制位实现线路复用,利用寄存器解决线路复用带来的数据覆盖问题(暂存). ROM: RAM:内存 中断机制解决CPU不断进行对IO设备轮询的问题,减少CPU的中断次数,提高性能. 北桥(高速总线控制器):内存 现在的内存

Springboot + redis + 注解 + 拦截器来实现接口幂等性校验

Springboot + redis + 注解 + 拦截器来实现接口幂等性校验 1. SpringBoot 整合篇 2. 手写一套迷你版HTTP服务器 3. 记住:永远不要在MySQL中使用UTF-8 4. Springboot启动原理解析 一.概念 幂等性, 通俗的说就是一个接口, 多次发起同一个请求, 必须保证操作只能执行一次比如: 订单接口, 不能多次创建订单 支付接口, 重复支付同一笔订单只能扣一次钱 支付宝回调接口, 可能会多次回调, 必须处理重复回调 普通表单提交接口, 因为网络超时

@ConfigurationProperties 注解使用姿势,这一篇就够了

前言 在编写项目代码时,我们要求更灵活的配置,更好的模块化整合.在 Spring Boot 项目中,为满足以上要求,我们将大量的参数配置在 application.properties 或 application.yml 文件中,通过 @ConfigurationProperties 注解,我们可以方便的获取这些参数值 使用 @ConfigurationProperties 配置模块 假设我们正在搭建一个发送邮件的模块.在本地测试,我们不想该模块真的发送邮件,所以我们需要一个参数来「开关」 di