Java Spring 从 application.properties 访问属性

问题描述 投票:0回答:1

我有一个像这样的 application.properties 条目。

stackoverflow.questiontitle=I cant see this from environment

但在我的代码中我看不到它。

如您所见,@Value 正在工作,但这次我需要从环境或应用程序上下文中获取它。我怎样才能做到这一点?

更新

我的意思是 @Value 我可以看到该属性,但我需要从其他类的环境中获取它,是的,它在运行时失败。

正在运行产品配置文件。

java spring dependency-injection properties-file
1个回答
1
投票

这应该有效...

import org.springframework.core.env.Environment;

@Component
class WithEnvironment {

    WithEnvironment(Environment environment) {
        System.out.println(environment.getProperty("stackoverflow.questiontitle"));
    }
}

要在调试模式下查看

IntelliJ IDEA
中的值,您可以使用:

  • ((ApplicationEnvironment)environment).getProperty("stackoverflow.questiontitle")

  • New Class Level Watch...
    上添加
    environment
    getProperty("stackoverflow.questiontitle")


© www.soinside.com 2019 - 2024. All rights reserved.