【发布时间】:2013-11-27 01:08:13
【问题描述】:
我做的事情是:
- 创建了一个属性文件 (data.properties)。
- 创建了一个 Spring.xml(我使用属性占位符)
- 创建了一个 bean 类。
- 我有一个必须使用 url 值的类。
- 我有一个 web.xml,它有上下文参数,我将参数值设置为 Spring.xml 文件的路径。
- 我的代码如下:
属性文件:url=sampleurl
Spring.xml:
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="classpath*:data.properties*"/>
</bean>
<bean id="dataSource" class="org.tempuri.DataBeanClass">
<property name="url" value="${url}"></property>
</bean>
豆类
public class DataBeanClass extends PropertyPlaceholderConfigurer{
private String url;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
web.xml 中的条目
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:Spring*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
现在我的问题是我不知道我应该重写 PropertyPlaceholderConfigurer 的哪个方法以及我应该如何设置变量 url 的值以便我可以使用 getproperty() 方法从其他类调用它。
【问题讨论】:
-
我不明白你的问题。
-
问题是我被告知我的 bean 类应该扩展某个类,并且我应该重写它的一个方法,以便我可以在其他一些类中使用属性值。我假设要扩展的类是 PropertyPlaceholderConfigurer。不过,我不是 100% 确定。
-
由于您的“url”值已经存在于属性文件中,我认为您想在多个 bean 类中使用该属性。
-
你是如何创建 bean 对象的?它是从 Spring ApplicationContext 创建的还是使用“new”创建的
-
您也可以随时使用
context = ContextLoader.getCurrentWebApplicationContext();来加载容器初始化期间创建的相同上下文。
标签: java spring properties