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

如何访问属性文件提交使用applicationcontext.xml文件在Spring?

微生俊材
2023-03-14

我在applicationContext文件中添加了以下内容

        <bean id="properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
            <property name="locations">
                <list>
                    <value>classpath:stage.properties</value>
                    <value>classpath:environment.properties</value>
                </list>
            </property>
        </bean>

我需要进入舞台的地方。属性文件值。阶段属性文件位于src/main/resources中

我写了以下行在我的java类访问这个文件

         @Value("${spring.username}")
         private String usr;

但是我正在为usr获得Valu就像=${spring.username}我在这里错过了什么?

共有1个答案

伯茂才
2023-03-14

@值(${spring.username})表示法需要使用PropertyPalceHolderConfigure/PropertySourcesPlaceholderConfigurer,具体取决于spring版本来解析属性占位符。任何一个

解决方案1

代替

<bean id="properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
            <property name="locations">
                <list>
                    <value>classpath:stage.properties</value>
                    <value>classpath:environment.properties</value>
                </list>
            </property>
        </bean>

<context:property-placeholder location="classpath:stage.propertes,classpath:environment.properties"/>

确保导入Spring上下文命名空间

解决方案2.

使用SpEL访问带有@Value的属性bean,如下所示

@Value("#{properties['spring.username']}
private String usr;

这将访问上下文中属性bean的spring.username属性

 类似资料:
  • 假设我们有一个简单的Spring条件,它必须与属性文件中的文件属性相匹配: 不幸的是,上面提到的方法调用都没有返回在属性文件中定义的真实属性。相反,当我为另外两个调用getProperty方法和“${my.property}”字符串时,我得到了null(显然,该属性尚未解析)。

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

  • 问题内容: 我正在整理一个.jar文件。我想创建一个非常简单的.properties文件,其中包含诸如用户名和其他内容之类的可配置内容,以便他们可以手动编辑,而不必包括GUI编辑器。 我想做的是能够按此顺序搜索: 指定的属性文件() 当前目录(调用Java的目录)中的MyApp.properties 用户目录中的MyApp.properties(user.home系统属性?) 存储应用程序.jar

  • 问题内容: 我有一个配置值的键/值对列表,我想将它们存储为Java属性文件,并在以后加载和迭代。 问题: 我是否需要将文件存储在与将要加载它们的类相同的程序包中,或者应该将其放置在任何特定位置? 该文件是否需要以任何特定的扩展名结尾还是.txt可以的? 如何在代码中加载文件 我如何遍历其中的值? 问题答案: 你可以将InputStream传递给Property,因此你的文件几乎可以在任何地方,并且

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

  • 问题内容: 我正在创建一个在GlassFish中运行的Web服务,并且我想要一些自定义属性。为此,我正在使用该类。我使用的代码是: 但是,如何在配置目录中获取-file? 我不确定我的类路径,因为它是由NetBeans和GlassFish管理的。我假设我的-file在部署时已添加到类路径中… 我已经添加了自己的解决方案,但是如果有人可以提出更好的解决方案,那将是非常受欢迎的… 问题答案: 有效的解