我有一个简单的Web应用程序,其中包含一些依赖jar,用于某些功能,需要使用主应用程序代码中定义的属性值。
先谢谢你帮我解决这个问题。
dependency.jar包含
public class MyClass {
@Value("${abc.def}")
private String abc; // DOES NOT GET RESOLVED. IS ALWAYS NULL
}
my-app.war包含
public class LocalClass {
@Value("${abc.def}")
private String abc; // GETS RESOLVED TO CORRECT PROPERTY VALUE
}
的context.xml import dependency-context.xml
答案 0 :(得分:0)
您可能遇到此bug。这使得使用导入上下文将@Value与来自不同项目的多个PropertyPlaceholderConfigurers一起使用变得非常困难。要解决此问题,请尝试将现有PropertyPlaceholderConfigurer自动装配到bean配置方法中(假设您可以使用@Configuration)并使用项目中的值更新方法中的对象。
答案 1 :(得分:0)
@scottmf位于右侧,但您无法直接从PropertyPlaceholderConfigurer读取属性:(
相反,我在战争中创建了一个String @Bean ......
<bean id="myProperty" class="java.lang.String">
<constructor-arg value="ABC"/>
</bean>
可以@Autowired到jar类中:
@Bean
public Object myBean(String myProperty) { ... }