IOC:
DAO Service Action都需要交给spring进行管理,并且注入。
AOP: 未???
spring和struts如何结合: spring容器在web启动的时候启动。要让struts去控制已经由spring创建和管理的action(也就是struts和spring结合),加入plugin.jar
究竟如何整合的呢:
plugin.jar里面有一个struts-plugin.xml文件:
<struts>
<bean type="com.opensymphony.xwork2.ObjectFactory" name="spring" class="org.apache.struts2.spring.StrutsSpringObjectFactory" />
<!-- Make the Spring object factory the automatic default -->
<constant name="struts.objectFactory" value="spring" />
<constant name="struts.class.reloading.watchList" value="" />
<constant name="struts.class.reloading.acceptClasses" value="" />
<constant name="struts.class.reloading.reloadConfig" value="false" />
<package name="spring-default">
<interceptors>
<interceptor name="autowiring" class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"/>
<interceptor name="sessionAutowiring" class="org.apache.struts2.spring.interceptor.SessionContextAutowiringInterceptor"/>
</interceptors>
</package>
</struts>
工厂类创建,在struts要找action实例的时候,会找spring拿,spring的factory会找到spring配置文件,找到bean。所以会根据struts的action的class找,spring中相同id的bean。