`
拉登的足球
  • 浏览: 70795 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts2整合spring2,hibernate3~

阅读更多
struts2整合spring2是通过插件的形式整合的,这也是struts2的一个优点,可插拔式的轻量级框架。可以讲Action的实例交ioc容器进行管理,这样有助于更好的分层解耦,当然也可以利用spring的自动装配注入action实例,但是通过修改 struts.objectFactoryy.spring.atuoWrie常量改变自动装配策略有个bug,就是无法修改默认的name策略。
    SSH2的整合主要流程是:控制器(action)--业务逻辑组件工厂--业务逻辑组件--DAO组件工厂--DAO组件--hibernate持久层--JDBC。
    在struts.xml中配置的action指定class属性时,不是指向action的实现类,而是指向spring的bean id,这样完成了action--bean之间的关联,由spring中对应的bean实例创建action,在action中只是调用业务逻辑组件的方法就可以。在业务逻辑方面要充分使用面向接口编程的思想,接口中定义一些业务逻辑的方法,由实现类具体实现,在业务逻辑组件中可以调用DAO组件,DAO 层的设计思路与业务逻辑层基本相同,DAO层是由多个DAO组件和一个DAO工厂组成,DAO组件的实现类似于业务逻辑组件,都是面向接口编程。DAO工厂类提供一个缓冲池来缓存每个DAO实例,当然需要一个xml文件作为配置文件来配置所有DAO组件,工厂类里面要解析xml,通过反射创建DAO 组件实例。在DAO层的接口中的xrud操作就涉及到了hibernate,在hibernate.cfg.xml中配置数据库信息,例如:c3po连接池,数据库方言等等,当然还有一些PO,在此不再赘述。
   终于写完了,由于我在SSH2方面经验有限,如果谁有更好的整合方法,请提供分享!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics