使用@PropertySource注释时@Value未解析。如何配置PropertySourcesPlaceholderConfigurer?

2024-01-21

我有以下配置类:

@Configuration
@PropertySource(name = "props", value = "classpath:/app-config.properties")
@ComponentScan("service")
public class AppConfig {

我有财产服务:

@Component 
public class SomeService {
    @Value("#{props['some.property']}") private String someProperty;

当我想使用以下命令测试 AppConfig 配置类时收到错误

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'someService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private java.lang.String service.SomeService.someProperty; nested exception is org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 0): Field or property 'props' cannot be found on object of type 'org.springframework.beans.factory.config.BeanExpressionContext' 

该问题已记录在 SPR-8539 中 https://jira.springsource.org/browse/SPR-8539

但无论如何我不知道如何配置属性源占位符配置器让它发挥作用。

Edit 1

这种方法适用于 xml 配置

<util:properties id="props" location="classpath:/app-config.properties" />

但我想使用java进行配置。


正如@cwash 所说;

@Configuration
@PropertySource("classpath:/test-config.properties")
public class TestConfig {

     @Value("${name}")
     public String name;


     //You need this
     @Bean
     public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
        return new PropertySourcesPlaceholderConfigurer();
     }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用@PropertySource注释时@Value未解析。如何配置PropertySourcesPlaceholderConfigurer? 的相关文章

随机推荐

  • 为什么$a + ++$a == 2?

    如果我尝试这个 a 0 echo a a PHP EOL echo a 我得到这个输出 2 1 Demo http codepad org ncVuJtJu http codepad org ncVuJtJu 这是为什么 我希望得到这个作为
  • 如何停止(和重新启动)Rails 服务器?

    我正在按照此处的说明进行操作http railsinstaller org mac http railsinstaller org mac在运行 OS X 10 8 2 的 Mac 上启动并运行 Rails 在第 8 步 我被要求重新启动
  • 在带有 Weld 的 Spring Boot 环境中使用时,Omnifaces 2.x 失败

    最后 我在 Spring Boot 环境中成功引导了 Weld 如下所述here https stackoverflow com a 48140084 1907872 CDI 对于使用 Mojarra 的 JSF 和使用 Jersey 的
  • 如何通过.NET Core查找物理CPU核心数(不是逻辑SMT超线程)?

    我想检测实际物理核心的数量 而不是逻辑核心的数量 因为当更多线程竞争私有每核心缓存时 工作负载会出现负扩展 和 或具有足够高的 IPC 每个核心运行多个逻辑线程不会吞吐量的增加超过线程开销的增加 特别是对于无法完美扩展到大量内核的问题 或者
  • 如何获取“我的文档”的准确路径?

    在 C 中 获取 shell 在 Windows XP 和 Windows 7 中称为 我的文档 以及在 Vista 中称为 文档 的文件夹的完整路径名并不难 看获取我的文档的路径 https stackoverflow com quest
  • Guava Cache 的预加载值

    我有一个要求 我们从数据库加载静态数据以在 Java 应用程序中使用 任何缓存机制都应该具有以下功能 从数据库加载所有静态数据 一旦加载 这些数据就不会改变 从数据库加载新数据 启动时数据库中存在的数据不会改变 但可以添加新数据 延迟加载所
  • RDBMS/SQL 中的“关系”与“关系”?

    来自问题 关系 与 关系 https english stackexchange com questions 15208 relation versus relationship 15218 15218 RDBMS 或数据库理论 中 关系
  • 从多个拉取,仅推入一个

    这是我的目标工作流程 我有两个存储库 一个用于用 PHP 编码的网站框架 另一个用于自定义 PHP 代码 以添加客户想要的网站功能 我需要能够从客户端网站的两个存储库中提取数据 但只推送到一个存储库 这将是自定义代码 并且我只希望第二个存储
  • 如何将 CSS 文件包含在 CodeIgniter 中?

    我在应用程序文件夹所在的根目录中创建了一个资产文件夹 现在我有与应用程序同级的资产 现在当我尝试打开时http localhost CodeIgniter assets css bootstrap min css在网页中它不起作用 有人可以
  • Redux-observable:史诗般的笑话测试失败

    我按照以下步骤操作文档 https redux observable js org docs recipes WritingTests html来测试史诗 store dispatch type FETCH USER expect stor
  • 替换 CLLocationManager 的“目的”属性

    在 iOS 6 中 purposeCLLocationManager 的属性 用于描述使用位置服务的原因 property copy nonatomic NSString purpose 已被弃用 Apple 提出了哪种替代方案 如果有 替
  • 3 个并排的响应式 DIV 框 - 不在一起

    嗨 我需要帮助解决这个问题 我有 3 个 div 无论屏幕有多大或多小 都需要并排放置 但问题是 一旦屏幕宽度低于 400px 那么最后一个 div 就会位于其他 div 的下方 我怎样才能让它们保持内联 同时响应灵敏且居中 而不会对媒体查
  • 在特定模式上运行inspectdb

    我想用检查数据库 https docs djangoproject com en dev ref django admin inspectdb以便为新引入的表建立相应的模型 但看起来这个命令只查找public架构 而新表位于另一个架构中 是
  • Expo 应用程序卡在启动屏幕上 - 没有给出错误

    我的应用程序工作得很好 直到我开始尝试让它与 Firebase 一起工作 它现在冻结在启动屏幕上 没有给我任何错误 我尝试从 GitHub 中提取之前的版本 创建一个全新的 expo 项目并复制代码 然后重新安装所有软件包 但都不起作用 有
  • 当同一组件加载不同数据时,不会调用 ngOnInit

    我有一个 Angular 2 应用程序 并且像其他人一样使用路由器在视图之间导航 以下是我的特定组件的路径 path home view1 viewID component ViewComponent children path pane
  • C++ Class Typedef Struct 不命名类型

    我正在尝试在我的 C 程序中使用 typedef 结构 我开始编写以下代码 直到尝试向我的类添加返回模板 typedef 结构指针的方法时收到错误 结构源 h template
  • svn:无法打开请求的 SVN 文件系统

    我尝试在LAMPP环境中设置svn 我的 svn 存储库位于 var svn repos 以及repos目录属于root root 现在 当运行命令时 svn import test http localhost svn m init 我看
  • Cleartool - 列出对象及其标签

    我想递归地列出所有对象 包括文件和目录 及其标签 当我运行以下命令时 它只写入规则 它不会在任何对象上写入所有标签 cleartool ls r l view stable MYVOB MyProject 结果 版本 view stable
  • 调度程序代码在什么上下文中运行?

    调度程序代码有两种情况schedule 被调用 当进程主动调用schedule 定时器中断调用schedule 对于情况2 我认为schedule 在中断上下文中运行 但是第一种情况怎么样 它是否在调用它的进程的上下文中运行 还有其他场景会
  • 使用@PropertySource注释时@Value未解析。如何配置PropertySourcesPlaceholderConfigurer?

    我有以下配置类 Configuration PropertySource name props value classpath app config properties ComponentScan service public class