- PR -

Springのxml定義

1
投稿者投稿内容
未記入
ベテラン
会議室デビュー日: 2007/09/29
投稿数: 78
投稿日時: 2008-04-22 08:51
こんにちは。

SpringをベースにシングルトンのList変数を共通で持ちたいと考えているのですが、
xml定義でwebサービスを立ち上げた時に定義エラーで引っかかってしまいます。

<bean id="AAA" class="java.util.List" scope="singleton" >
<list>
<ref bean="ABean"/>
</list>
</bean>
<bean id="ABean" class="test.ABean" >
<ref bean="id"/>
<ref bean="name"/>
</bean>

↓Javaコードでは
public List AA;

ABean bean = new ABean();
bean.setId("1");
bean.setName("2");
AA.add(bean);

のつもりで定義してます。DIコンテナ層に常に保持され、必要があれば
ApplicationContextでいつでも取得できるようにしたいと考えているのですが・・。

お分かりになる方ございましたら、よろしくお願いします。
でるびすた
常連さん
会議室デビュー日: 2005/06/15
投稿数: 22
投稿日時: 2008-04-22 11:00
おそらくこういった感じになるのではないかと思います

コード:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
                           http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
  <util:list id="AAA">
    <ref bean="ABean" />
  </util:list>
  <bean id="ABean" class="test.ABean">
    <property name="id" value="1" />
    <property name="name" value="2" />
  </bean>
</beans>

未記入
ベテラン
会議室デビュー日: 2007/09/29
投稿数: 78
投稿日時: 2008-04-22 16:47
ありがとうございます。

これをJavaで取り出す時ですが、Action(struts2)で
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletActionContext.getRequest().getSession().getServletContext());
Object obj = wac.getBean("AAA");

このように取得しているのですが、空で何も入ってきません。
ロジックでは特に何もセットしてはいないのですが、SpringFrameworkが
やってくれるものと考えていましたが、間違っているのでしょうか?

参考書にはこのようにして取得できるとあったのですができずに・・、set,getの仕方を教えていただけないでしょうか?
よろしくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)