1.Spring框架整合Struts2步骤
a.创建工程,引入开发包
Struts开发包,Spring开发包
b.添加Struts控制器配置和struts.xml配置文件
*c.引入struts2-spring-plugin.jar整合包
然后将<action>配置的class指定为Spring容器中Action组件定义的id值。
(plugin.jar整合包提供一个StrutsSpringObjectFactory,采用该组件获取Action对象。
该组件可以访问Spring容器,获取容器中定义的Bean对象)
*d.在web.xml中添ContextLoaderListener组件,用于在启动服务器时实例化Spring容器
2.struts-spring-plugin.jar作用
该plugin.jar提供了一个StrutsSpringObjectFactory类,
当引入该jar后,Struts2会采用该组件获取Action对象
ObjectFactory在获取Action对象时,有以下两种途径:
a.利用<action>元素的class属性值去Spring容器中寻找Bean对象,寻找规则是id=class值
参考(ssh2-2.jpg结构图)
b.如果利用<action>的class属性值去Spring容器获取不到Bean对象,
ObjectFactory会利用反射机制创建一个Action对象,
然后访问Spring容器,
将容器中id名与Action属性一致的Bean对象注入给Action。
参考(ssh2-1.jpg结构图)
try{
// 第一种利用class值去Spring获取Bean对象
}catch(){
// 第二种自己创建一个Action,之后将Spring中的Bean对象给Action属性注入。
//注入规则是属性名=id值
}
3.SSH学习建议
XML和注解配置,XML配置方式了解,学会使用注解配置形式。
Struts2+Spring整合,建议采用ssh2-1.jpg结构整合。
掌握:ssh2-1.jpg采用注解方法整合应用。
(参考spring_04_4的demo2案例)