实验Webwork2.2与Spring的Auto-wire (2)

太长了,这是下半部分。

我做了一下小实验,以Webwork2的样例程序为例:

原先只在xwork.xml总进行了配置,Spring配置中无该bean

<action

name="main" class="com.opensymphony.webwork.example.ajax.actions.ActiveCategory">

<result name="success">/category-main.jsp</result>

</action>

1、 使用byType方式:这个没什么可说,只要类一样自动就可以匹配,并使用。

添加了Spring中的配置:

<bean id="main_action"

class="com.opensymphony.webwork.example.ajax.actions.ActiveCategory"

singleton="false" />

2、 使用byName方式:在Spring中配置id=”xxx”,然后再xwork中配置name=”xxx”,可以自动匹配,可以使用。

修改了Spring配置如下:

<bean id="main"

class="com.opensymphony.webwork.example.ajax.actions.ActiveCategory"

singleton="false" />

3、 然后删除xwork.xml配置中的class=”com.xxx.xxx”class=””,依然可以工作。

修改了xwork.xml配置如下:

<action name="main" class="">

<result name="success">/category-main.jsp</result>

</action>

4、 然后再实验使用Springbeanname属性进行匹配,依然工作正常。

修改了Spring配置如下:

<bean id="main1" name="main"

class="com.opensymphony.webwork.example.ajax.actions.ActiveCategory"

singleton="false" />

所以,看起来nameid都可以用来auto-wire,所以id如果可以区分,用它来auto-wire就可以了,比较方便。

不过我个人有个疑问,在Spring中声明action是否要生明singleton=”false”?按理说应该false吧,可是我看例子中都没有声明。我记得Spring默认是singleton=”true”的,这是为什么?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.