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

configuration processor 允许我们标记某一个属性为 deprecated

我们可以通过添加 @DeprecatedConfigurationProperty 注解到字段的 getter 方法上,来标示该字段为 deprecated,重新 build 项目,看看 JSON 文件发生了什么?

当我们再编写配置文件时,已经给出了明确 deprecated 提示:

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

总结

Spring Boot 的 @ConfigurationProperties 注解在绑定类型安全的 Java Bean 时是非常强大的,我们可以配合其注解属性和 @DeprecatedConfigurationProperty 注解获取到更友好的编程方式,同时这样让我们的配置更加模块化。

附加说明

以为 @ConfigurationProperties 注解满足我们的全部需要了吗?其实不然,Spring 官网明确给出了该注解和 @Value 注解的对比:

如果使用 SpEL 表达式,我们只能选择 @Value 注解

另外我之前在阅读 RabbitMQ 源码时,发现 RabbitProperties 类充分的利用了 @ConfigurationProperties 注解特性:

deprecated

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

Duration

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

Enum

嵌套属性

感觉自己后知后觉,最近在思考,为什么小时候要阅读和背诵古诗词,文言文等经典,因为这样写文章就可以轻松熟练的引用经典。技术也一样,各种框架的源码就是学生时代的古诗词和文言文,我们要多多查看阅读,甚至背诵编程思想,这样就可以写出越来越优雅的代码

关于 @ConfigurationProperties 注解的使用,这里推荐 RabbitMQ Github 源码,只需看这一个类就可以,知道怎样充分利用这个注解.

Demo 代码获取,回复公众号「demo」,打开链接查看对应的子文件夹即可

灵魂追问

在实际项目中, 你能够充分利用这些特性让你的配置更灵活和模块化吗?

阅读框架源码时,他们都是怎样配置的呢?

@Value 注解怎样给出默认值?

提高效率工具

[center]

推荐阅读

红黑树,超强动静图详解,简单易懂

只会用 git pull ?有时候你可以尝试更优雅的处理方式

双亲委派模型:大厂高频面试题,轻松搞定

面试还不知道BeanFactory和ApplicationContext的区别?

如何设计好的RESTful API

欢迎持续关注公众号:「日拱一兵」

前沿 Java 技术干货分享

高效工具汇总

面试问题分析与解答

技术资料领取

以读侦探小说思维轻松趣味学习 Java 技术栈相关知识,本着将复杂问题简单化,抽象问题具体化和图形化原则逐步分解技术问题,技术持续更新,请持续关注......

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpddxf.html