如何使用 propertyplaceholderconfigurewith xml 读取属性文件并使用@value 访问属性?

By simon at 2019-05-22 • 0人收藏 • 58人看过

我必须从属性文件中读取 url,这样我就不必每次更改 url 时都输入代码。 我在使用 spring-maven 项目。 我正在使用上下文: property-placeholder location"classpath: apiurls.properties"/ 在我的 application-context.xml 文件中。 当我尝试访问 java 类中的属性@ value ("${ my.property }")私有字符串网址;我实际上在 url 中获得了"${ my.property }",而不是属性值。

这里有一个链接:如何从属性文件中读取值?

我使用 propertyplaceholderconfigureer 的第一个方法对 xml 进行了尝试。

在 web.xml 文件中:

Context-param param-name contextConfigLocation / param-name param-value classpath: applicationContext.xml / param-value / context-param

在 applicationContext.xml 文件:

上下文: component-scan base-package"com. api"/ context: component-scan context: property-placeholder location"classpath: apiurls.properties"/ 

在属性文件(apiUrls.properties 文件)中:所有 http://google.com/getsomedata

在 java 类:

@ service public class DemoCMSCategoryServiceImpl implements DemoCMSCategoryService {@autowired RestTemplate;@value ("${ category.getAll }") private String url; ... / / In a function String uri this.url; / / uri is ${ my.property } not the value

这应该有用的,我已经在其他项目中做过了。 我也尝试使用@ propertysource(那时在 xml 中没有什么可做的)并且它工作了,所以问题似乎出在 xml 部分。 不知何故,属性没有被添加到上下文中。 如果它工作正常,那么 uri 应该是Http://google.com/getsomedata- 从属性文件。 项目的目录结构是:目录结构

登录后方可回帖

Loading...