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

env.get属性不工作Spring Property tyPlaceholderConfigrer

贺宏富
2023-03-14

我正在使用spring加载属性文件

  <bean id="appProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
         <property name="locations" value="classpath:/sample.properties" />
          <property name="ignoreUnresolvablePlaceholders" value="true"/>
    </bean>

当我使用

@value(${testkey})工作正常。

但是当我尝试使用env时

@Resource
 private Environment environment;

environment.getProperty("testkey") // returning null

共有2个答案

孟财
2023-03-14

如果有人想在不使用@PropertySource的情况下实现这一点

使用ApplicationContextInitializer接口及其配套的contextInitializerClasses servlet上下文参数

将此添加到web中。xml

<context-param>
    <param-name>contextInitializerClasses</param-name>
    <param-value>com.test.MyInitializer</param-value>
</context-param>

定义你的初始化器

public class MyInitializer implements ApplicationContextInitializer<ConfigurableWebApplicationContext> {
    public void initialize(ConfigurableWebApplicationContext ctx) {
        PropertySource ps = new ResourcePropertySource(new ClassPathResource("sample.properties")); // handle exception
        ctx.getEnvironment().getPropertySources().addFirst(ps);
    }
}

参考:Spring3.1 M1:统一行政物业

公羊俊
2023-03-14

一个属性不添加属性从它的位置环境。通过Java配置,您可以使用@Properties tySource来实现这一点。

 类似资料:
  • 我正在使用log4j 2.4,并尝试将转换为,但是似乎不能使用log4j2.properties。 null 虽然以下文档https://logging.apache.org/log4j/2.x/manual/configuration.html#属性 清楚地表明 属性配置文件支持广告客户、monitorInterval、name、packages、shutdownHook、status 我也尝试

  • 从最新版本开始,我就体验到了Chrome的一些意想不到的行为:在Firefox中,这段代码运行得非常好: 它不工作在Chrome(简单地下载一个名为下载的文件),但以前工作得很好。我必须改变什么,它又开始工作了?

  • 我想让一个svg文本可编辑。经过一番研究,我发现editable属性可以指定svg元素的内容是否可以编辑到位(http://www.w3.org/tr/2004/wd-SVG12-20041027/text.html)。 所以我试着: 但是,我还是不能编辑它!(我使用了最新版本的谷歌Chrome,Firefox和IE)

  • 我有以下XML 我有以下freemarker模板,其中xml元素被注入为“元素”。

  • 我使用的是Spring boot 1.5.7版本。 我正在尝试在应用程序中设置全局非空Jackson属性。 但它不起作用。 这两种方法我都试过了。属性和引导。但不起作用。 但当我申请班级级别时,它运行良好。

  • 试图让spring boot@ConfigurationProperties注释工作起来,这让我感到非常困难。所以希望有人能为我澄清我做错了什么。我有一个Spring Boot应用程序,它在类路径上包含一个application.properties。它的价值在于 我有一个application.class,它有spring boot注释,位于包层次结构的顶部 有人告诉我我做错了什么吗? 更新: