我正在開發一個使用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 '。 –