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

如何从Spring条件访问文件属性?

宣煜
2023-03-14

假设我们有一个简单的Spring条件,它必须与属性文件中的文件属性相匹配:

public class TestCondition implements Condition {

  @Override
  public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
    context.getEnvironment().getProperty("my.property");
    context.getBeanFactory().resolveEmbeddedValue("${my.property}");
    context.getEnvironment().resolvePlaceholders("${my.property}");

    // ... more code
  }
}

不幸的是,上面提到的方法调用都没有返回在属性文件中定义的真实属性。相反,当我为另外两个调用getProperty方法和“${my.property}”字符串时,我得到了null(显然,该属性尚未解析)。

共有2个答案

贡和裕
2023-03-14

你有各种各样的方法来访问属性在Spring,主要和最简单的如下

使用注入值

@PropertySource("classpath:foo.properties")
public class foo {

    @Value("${db.driver}")
    private String dbDriver;
}

或者您可以使用环境

@PropertySource("classpath:config.properties")
public class foo {

  @Autowired
  private Environment env;
  ...
  dataSource.setUrl(env.getProperty("jdbc.url"));
}

更多信息可以在这里找到

孟俊晖
2023-03-14

属性LoaderUtils如何?把它放在你的方法里,而不是你的方法里。

// path to your .properties file
Resource resource = new ClassPathResource("/my.properties");
Properties props = PropertiesLoaderUtils.loadProperties(resource);

....
String someValue = props.getProperty("someKey", "DEFAULT_VALUE");

如果你的东西不管用,也许试试这个。

 类似资料:
  • 我在applicationContext文件中添加了以下内容 我需要进入舞台的地方。属性文件值。阶段属性文件位于src/main/resources中 我写了以下行在我的java类访问这个文件 但是我正在为usr获得Valu就像=${spring.username}我在这里错过了什么?

  • 我在网络空间自由 17.0.0.4 上运行。部署了位于 目录下的 Web 应用程序和自定义身份验证模块。该jar文件被标记为服务器.xml文件中的。以下是它在服务器中的外观.xml 现在的问题是,我想使用文件位于文件到Web应用程序。 已尝试访问以下代码片段: 但是,两者都不起作用。 知道如何访问位于库jar文件中的属性文件吗?

  • 问题内容: 如何访问组件的属性。我以为会在this.props中,但事实并非如此。 例如 并在产品列表中 退货 没有任何关键属性。我可以创建另一个属性并为其分配相同的值,但是由于key属性已经被使用,因此这似乎是多余的。 另外,键属性在整个组件中是否必须是唯一的,还是仅在其要呈现的循环或集合中是唯一的? 问题答案: 该属性由React在后台使用,并且不会暴露给您。您将要使用自定义属性并将该数据传递

  • 我知道我们无法访问web中的属性。但是有没有解决方法来实现这一点。我只需要访问env在web中的价值。xml文件。 如有任何建议,我们将不胜感激。

  • 我需要改变php.ini文件中的一些变量,以便能够上传文件。我买了一个域名 配置文件(php.ini)路径是/usr/local/php/p56 加载的配置文件是/usr/local/directadmin/data/users/kristak/php/funwithhakase。pl/php56。伊尼 我不知道应该访问这些文件中的哪些,以及如何更改所需的变量。我试着把地址输入到FileZilla

  • 在阅读了关于这个主题的大约50个不同的线程后,我还没有能够有任何解决方案工作。 我正在尝试访问JAR中的config.properties文件。 null null file.jar MyApp 此处的files.class 等… icon.jpg config.properties