gpt4 book ai didi

java - Spring @Value 注释总是评估为空?

转载 作者:IT老高 更新时间:2023-10-28 13:45:28 25 4
gpt4 key购买 nike

所以,我有一个包含以下条目的简单属性文件:

my.value=123
another.value=hello world

正在使用 PropertyPlaceHolderConfigurer 加载此属性文件,该文件引用了上面的属性文件。

我有以下类,我正在尝试将这些属性加载到这样的类中:

public class Config
{
@Value("${my.value}")
private String mValue;

@Value("${another.value}")
private String mAnotherValue;

// More below...
}

问题在于,mValuemAnotherValue 始终为 null...但在我的 Controller 中,加载的值很好。什么给了?

最佳答案

如果 Config 的实例是通过 new 手动实例化的,那么 Spring 不会参与其中,因此注释将被忽略。

如果您无法更改代码以使 Spring 实例化 bean(可能使用 prototype-scoped bean),那么另一种选择是使用 Spring 的加载时类加载器编织功能(参见docs)。这是一些低级 AOP,它允许您像往常一样实例化对象,但 Spring 将通过应用程序上下文传递它们以使它们连接、配置、初始化等。

不过,它并不适用于所有平台,因此请阅读上面的文档链接,看看它是否适合您。

关于java - Spring @Value 注释总是评估为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4130486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com