Struts2+Spring3 设置默认自动装配action需要注意的细节

来源:互联网 发布:淘宝点结算没反应 编辑:程序博客网 时间:2024/06/05 22:48

让spring自动装配,只要设置需要自动装配的<bean>中的autowire属性。如下设置:     

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><bean name="loginAction" class="com.wen.action.LoginAction"autowire="byName"></bean><bean id="userService" class="com.wen.service.impl.UserServiceImpl"></bean></beans>

这种只设置需要自动装配的<bean>没有任何问题,如果需要设置整个spring配置文件的<bean>为默认自动装配,只需要在根元素<beans>中设置default-autowire。如下设置:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" default-autowire="byName"><bean name="loginAction" class="com.wen.action.LoginAction"></bean><bean id="userService" class="com.wen.service.impl.UserServiceImpl"></bean></beans>

提交后会出现空指针异常,说明loginAction的关联对象没有装配。在网上找到一种解决方法。

将spring配置文件修改成如下:

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans default-autowire="byName">    <bean name="loginAction" class="com.wen.action.LoginAction"></bean>    <bean id="userService" class="com.wen.service.impl.UserServiceImpl"></bean></beans>


这样默认自动装配才会有效.

原创粉丝点击