我正在开发一个使用spring 3的web应用程序。我使用tomcat 6作为web容器。使用spring bean初始化java.util.ArrayList
在我的web.xml文件中,我将名为applicationContext.xml的文件作为弹簧定义文件进行绑定。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
从applicationContext.xml文件我试图初始化一个数组列表变量使用spring bean定义。即时在按照以下配置..(IM使用jidea)
<bean id="registationController" class="com.test.RegistrationController">
<property name="registrationService" ref="registrationService"/>
<property name="validUrlsList" ref="myList"/>
</bean>
<util:list id="myList" value-type="java.lang.String">
<value>10.1.200.104</value>
<value>10.1.200.205</value>
</util:list>
我已经加载的
xmlns:util="http://www.springframework.org/schema/util"
命名空间,并且在RegistrationController.java类我已经产生用于validUrlsList getter和setter变量,jidea表明我的定义是正确的,并且我已经将我的可变参数巧妙地绑定到了bean定义。但是当我尝试了代码,它不会初始化validUrlList变量?它给出一个空值?我在这里做错了什么?任何建议来解决这个问题?
java代码如下。,,
private ArrayList validUrlsList;
public void setValidUrlsList(ArrayList validUrlsList) {
this.validUrlsList = validUrlsList;
}
public ArrayList getValidUrlsList() {
return validUrlsList;
}
然后我通过只传递变量如下调用该方法getRemoteIp。
if (getRemoteIP(req, validUrlsList)) {
- 问候,Rangana
向我们展示您如何试用代码。并向我们展示RegistrationController的代码。哦,你的IDE的名字是IntelliJ IDEA。不是jidea。 –
修改了添加java代码的问题?我没有使用过XmlBeanFactory,认为它会在加载时初始化? –
你怎么知道Spring构造的列表是一个ArrayList?如果从你的XML构造的列表是一个LinkedList或者一个不可修改的列表,它怎么能调用你的setter?代码与接口。使用'列表'而不是'ArrayList '。 –