本篇内容主要讲解“Value注解支持对象类型ConfigurationProperties功能问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Value注解支持对象类型ConfigurationProperties功能问题怎么解决”吧!(不希望配置类注册为Bean 或 不希望声明@ConfigurationProperties)假设某一个jar包内封装了DataSourceProperties在jar包的Configuration中,某个@Bean的构造过程中引用了这个DataSourceProperties在某个业务场景中,同时存在两个DataSourceProperties 会造成一个问题,注入的时候会提示有多个候选的bean 但是没法去修改Jar包中的内容自己重复写一个DataSourceProperties 不是很优雅这时候引出了一个需求,DataSourceProperties不希望注册为Bean,但是能够从配置文件读取构建对象使用org.springframework.boot.context.properties.bind.Binder
从配置文件构建配置对象binder.bind(“xxx”, Bindable.of(type)).get() 似乎是重复的编码方式?使@Value
注解能够支持自动调用这段代码 binder.bind("xxx", Bindable.of(type)).get()
例如org.springframework.beans.factory.support.DefaultListableBeanFactory#doResolveDependency
最后会交由converter处理项目启动时,添加String to Object的转换器,支持@Value
并且 “bind:”开头(防止影响@Value
原有功能)转换后代码执行 binder.bind(value.value().replace(PREFIX, ""), Bindable.of(type)).get();
目的就达成了在META-INF/spring.factories
中添加注册的Bean最终效果到此,相信大家对“Value注解支持对象类型ConfigurationProperties功能问题怎么解决”免费云主机域名有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
相关推荐: VScode更新后安装vetur无法格式化vue文件如何解决
这篇文章主要介绍了VScode更新后安装vetur无法格式化vue文件如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇VScode更新后安装vetur无法格式化vue文件如何解决文章都会有所收获,下面我们一起来看看吧。1.删…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。