spring整合struts2方案(二)

步骤和整合方案(一)类似

仅仅struts配置文件和spring配置文件不同

1.struts配置文件 struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
	<constant name="struts.enable.DynamicMethodInvocation" value="false" />
	<constant name="struts.devMode" value="true" />

	<package name="default" namespace="/" extends="struts-default">
		<!-- class指向具体类 -->
		<action name="login" class="action.LoginAction" method="login">
			<result name="success">/index.jsp</result>
		</action>
	</package>

</struts>

2.spring配置文件applicationContext.xml
<?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="loginService" class="service.impl.LoginServiceImpl" />
    
    <!-- 注释spring配置
    <bean name="login" class="action.LoginAction" scope="prototype">
        <property name="loginService">
            <ref bean="loginService"/>
        </property> 
    </bean>   
     -->     

</beans>


3.测试

spring整合struts2方案(二)_第1张图片


4.整合原理

在配置struts.xml文件时,Action的class为该Action的类路径,而在applicationContext.xml配置文件中不需要添加Action的bean配置。这样,当我们使用Action类时,由于studentInfoService已经配置了相关的bean,所以会自动装配。


5.server启动时打印的配置信息

Parsing configuration file [struts-default.xml]
...
Parsing configuration file [struts-plugin.xml]
...
Parsing configuration file [struts.xml]
...
Initializing Struts-Spring integration...
Setting autowire strategy to name
...
... initialized Struts-Spring integration successfully
...
Server startup in 4140 ms

action中service只需要setter方法就可以按照name找到对应spring中bean注入。



你可能感兴趣的:(spring整合struts2方案(二))