当前位置: 首页 > 知识库问答 >
问题:

JAVA Spring Boot:如何访问普通类中的application.properties值

高化
2023-03-14

我知道如何在Java Spring boot中访问@service类中的application.properties值,如下所示

@Service
public class AmazonClient {

    @Value("${cloud.aws.endpointUrl}")
    private String endpointUrl;
}

但是我正在寻找一个选项,可以直接在任何类(一个没有@service注释的类)中访问这个值

例如。

public class AppUtils {
      @Value("${cloud.aws.endpointUrl}")
      private String endpointUrl;
}

但这将返回null。如有任何帮助,我们将不胜感激。我已经读过这里,但没有帮助。

共有1个答案

顾嘉德
2023-03-14

没有什么“神奇”的方法可以将属性文件中的值注入到不是bean的类中。您可以在类中定义一个静态java.util.properties字段,在类加载时手动从文件中加载值,然后使用该字段:

public final class AppUtils {
    private static final Properties properties;

    static {
        properties = new Properties();

        try {
            ClassLoader classLoader = AppUtils.class.getClassLoader();
            InputStream applicationPropertiesStream = classLoader.getResourceAsStream("application.properties");
            applicationProperties.load(applicationPropertiesStream);
        } catch (Exception e) {
            // process the exception
        }
    }
}
 类似资料:
  • 问题内容: 我想访问中提供的值,例如: 我想在Spring Boot应用程序的主程序中访问。 问题答案: 你可以使用批注并在使用的任何Spring bean中访问属性 Spring Boot文档的Externalized Configuration部分介绍了你可能需要的所有详细信息。

  • 我想访问application.properties中提供的值,例如: 我想在Spring Boot应用程序中访问主程序中的userBucket.path

  • 我需要在应用程序中设置一个基本url。属性,并且需要使用该基本url将记录插入liquibase中的mongodb 试过下面这样的东西 在应用程序中.属性 在插入更改日志.xml文件 尝试了所有选项。推荐链接https://docs.liquibase.com/concepts/basic/changelog-property-substitution.html 任何人都可以帮忙使用Spring靴

  • 我正在使用Chrome编写一些Selenium WebDriver和AutoIt Java测试。当我在Chrome中下载一个文件时,它会自动下载到我电脑上的downloads文件夹中。我正在一个存储库上与多个其他用户共享这个代码项目,因此我不想将我的下载文件夹与我的特定用户名硬编码在其中。 我的意思是假设我电脑上的用户名是“Eamon”。我的机器上的下载文件夹是“C:\Users\Eamon\do

  • 我有一个zip文件“items.zip”。 在这个zip-File中有不同的类,其中一些对我有用,而另一些则不是。 圆圈类有一个construcor和一个paint方法。 圆圈ButYoucantDrawit。类具有损坏的构造函数。 在启动主程序之前,我想访问项目。zip,检查它们是否可用,然后尽可能地使用有用的。最好的方法是什么? 到目前为止,我已经尝试了9次,但没有一次有意义。我如何才能做到最

  • 问题内容: 我试图在把手模板内的数组中指定项的索引: 使用这个: 如果上述方法不可行,我将如何编写一个可以访问数组中特殊项目的助手? 问题答案: 尝试这个: