栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

带有PropertyPlaceholderConfigurer Bean的Spring @Configuration文件无法解析@Value批注

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

带有PropertyPlaceholderConfigurer Bean的Spring @Configuration文件无法解析@Value批注

从Spring JavaDoc:

为了使用PropertySource的属性解析$
{…}占位符在定义或@Value注释中,必须注册一个PropertySourcesPlaceholderConfigurer。在XML中使用时会自动发生,但是在使用@Configuration类时必须使用静态@Bean方法显式注册。有关详细信息和示例,请参见@Configuration的javadoc的“使用外部化的值”部分和@Bean的javadoc的“关于BeanFactoryPostProcessor-
返回@Bean方法的说明”。

因此,您正在尝试在启用占位符处理所需的代码块中使用占位符。

如@ M.Deinum所述,您应该使用PropertySource(默认或自定义实现)。

下面的示例显示如何在PropertySource批注中使用属性,以及如何从字段中的PropertySource注入属性。

@Configuration@PropertySource(          value={"classpath:properties/${property:defaultValue}.properties"},          ignoreResourceNotFound = true)public class ConfigExample {    @Value("${propertyNameFromFile:defaultValue}")    String propertyToBeInjected;         @Bean     public static PropertySourcesPlaceholderConfigurer propertyConfigurer() {        return new PropertySourcesPlaceholderConfigurer();     }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/570305.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号