初学S2SH的整合:(没使用事务控制)

来源:互联网 发布:linux c vim 编辑:程序博客网 时间:2024/06/13 16:28

参考李刚的《轻量级Java EE 企业应用实战》

轻量级Java EE架构以Spring IoC 容器作为核心,承上启下:其向上管理来

自表现层的Action,向下管理业务逻辑层组件,同时负责管理业务逻辑层所

需的DAO对象


①首先肯定要将数据库设计好并导入相应的jar包;


②在web.xml中配置Struts2的核心Filter;


③先整合Struts2和Spring:Spring提供了一个ContextLoaderListener,

该监听器类实现了ServletContextListener接口,该类可以作为Listener

使用,它会在创建时自动查找WEB-INF/下的applicationContext.xml文件
,故要在web.xml中配置ContextLoaderListener监听器,是Spring容器随
Web应用的启动而自动启动;(若有多个配置文件需要载入,则考虑使用
<context-param.../>元素来确定配置文件的文件名。

ContextLoaderListener加载时会查找名为contextConfigLocation的初始化参数)


④由③知:接下来便在WEB-INF/下新建一个applicationContext.xml文件

,下一步就是Hibernate与Spring的整合了;


⑤创建数据库对应的PO(Persistent Object,持久化对象),Hibernate


中直接采用了POJO(Plain Old Java Object,普通的、传统的Java对象)


作为PO,并在对应包下生成相应的XML映射文件:PO类名.hbm.xml;


⑥接下来便开始Hibernate与Spring的整合:在applicationContext.xml


文件中定义数据源Bean(推荐使用C3PO),然后再定义Hibernate的


SessionFactory,将其所需的数据源(ref)与所有映射文件(<list>)写


入;


⑦接下来就开始开发了:创建操作数据库所需的DAO组件,并在业务逻辑组件


中封装所需的DAO,接着便到的Action类的创建,在Action类中添加业务逻


辑对象和其对应的setter方法,通过Spring依赖注入,我使用的是让Spring


管理控制器的策略来整合Struts2和Spring的,故要将src/struts.xml(用


eclipse生成、部署项目时,会自动将src路径下除*.java外的所有文件复制


到Web应用的WEB-INF/classes路径下,即类加载路径)中Action的class属


性配置为一个伪控制器(指向Spring容器中Action实例的id),同时在


applicationContext.xml文件中配置相应组件Bean和Action,对Spring容


器而言,Struts2的Action就是一个普通的Bean,也可接受依赖注入,从而


轻松将业务逻辑组件注入该Action Bean中。同时要注意当Spring管理


Struts2的Action时,一定要配置scope属性(因为每个Action对应一次用


户请求,且封装了该次请求的状态信息,所以不应将Action配置出单例模式


,而应将scope指定为prototype或request);


⑧另外,由于使用到Spring提供的工具类HibernateDaoSupport来支持DAO


组件的实现,所以不要忘了在applicationContext.xml中的DAO Bean(持

久化操作)注入所需的SessionFactory。


以上大概走了一遍SSH的整合流程,最后建议每完成一个模块的配置就测试一下,要不全部配置完成后出错很难找问题的。
0 0
原创粉丝点击