我在web.xml中定义了上下文参数
<context-param>
<param-name>apikey</param-name>
<param-value>45370652</param-value>
</context-param>
<context-param>
<param-name>secretkey</param-name>
<param-value>3eada72ef0ae12e15b138ae098c268c087f08ca8</param-value>
</context-param>
</web-app>
我在bean类的类和字段级别启用了@Component
和@Value
注释。但是,它似乎没有阅读它们。它始终为空
@Component 公共类TokBoxSettings {
@Value("${apikey}")
private String apikey;
@Value("${secretkey}")
private String secretkey;
我还将以下bean映射添加到spring-servlet.xml
以配置PropertyPlaceholder
<bean class="org.springframework.web.context.support.ServletContextPropertyPlaceholderConfigurer">
</bean>
请让我知道我错过了什么
答案 0 :(得分:1)
我是初级春天+ hibernate开发者,我有一个替代方案来解决这个问题,可能你知道吗
我使用bean名称及其属性来设置直接上下文参数值
<bean ...>
<property name="apikey" value="${apikey}" />
</bean>
答案 1 :(得分:1)
在bean声明中将属性ignoreUnresolvablePlaceholders设置为true。即在spring-servlet.xml
<bean class="org.springframework.web.context.support.ServletContextPropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true"/>
</bean>
它为我工作。