struts + Hibernate + Spring WEB框架
admin
2023-05-27 06:41:41
0

   struts:负责显示层,是一个完美的MVC实现,它调用业务层完成运算逻辑,业务层再调用持久层完成数据库的读写。

   Hibernate:创建一系列的持久化类,将每个类的属性与数据库表的属性一一对应。

   Spring:依赖注射和控制反转。只要拿到一个实现了这个接口的类,就可以轻松的通过xml配置文件把实现类注射到调用接口的那个类里。所有类之间的这种依赖关系就完全通过配置文件的方式替代了。

Java Web应用程序架构:Struts负责显示层,Hibernate负责持久层,Spring负责中间的业务层。


另外,由于Spring使用的依赖注射以及AOP(面向方面编程),所以它的这种内部模式非常优秀,以至于Spring自己也实现了一个使用依赖注射的MVC框架,叫做Spring MVC,同时为了很好的处理事物,Spring集成了Hibernate,使事物管理从Hibernate的持久层提升到了业务层,使用更加方便和强大。



所谓的三层开发就是将系统的整个业务应用划分为“表示层-业务逻辑层-数据访问层”

1、Struts

    Struts的控制文件struts-config.xml、Action和Action Servlet实现MVC的控制器,JavaBean或者EJB完成MVC的模型部分,JSP页面承担MV的视图组件,而且所有的控制逻辑都是有struts-config.xml配置文件来完成。

    Struts2提供了丰富的拦截器实现

2、Hibernate

    Hibernate是数据持久层的一个轻量级框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用

    对象编程思维来操纵数据库。提供了查询获取数据的方法,用面向对象的思想来操作数据库,节省开发处理数据的时间。

    在物理数据库之上利用一些配置文件如hibernate.cfg.xml、Action和Action文件、XML Mapping(映射文件)等来为应用系统

    提供数据持久化方面的服务,同时达到将应用系统的持久层与不同的物理数据库系统相互隔离开的目的。

    Hibernate的工作流程:

     读取并解析配置文件;

     Configuration负责读取并创建映射信息,创建session factory

     SessionFactory负责创建session;

     Transaction负责开启事务Transaction;

     Query负责执行持久化操作;

     Transaction负责提交事务;

     关闭session和session factory;

    Hibernate中提供了两级Cache,第一级别的缓存是Session级别缓存,它属于事务范围的缓存。由Hibernate管理,一般情况下无需进行干预。第二级别的缓存是Session Factory级别缓存,属于进程范围或群集范围的缓存。可以进行配置和更改,并可以动态加载和卸载。

3、Spring

    Spring:核心容器提供Spring框架的基本功能。核心容器主要组件是Bean Factory,它是工厂模式的实现。Bean Factory 使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。控制反转即依赖注入是Spring的核心。对象间的某种依赖关系式由容器在运行期间注入调用者,控制程序间的关系的实现交给了外部容器来完成。

依赖注入存在2中实现方式:

1、设值注入即Set注入

2、构造注入


总结:

    Struts 用于表示层,直接面向用户,响应用户的请求,为显示提供一个模型和一个控制器,并委派调用业务逻辑和其他上层处理等功能。   

    Spring 在事务管理和依赖注入方面的独特能力,实现处理应用程序的业务逻辑和业务校验,以及提供与其他层进行相互作用的接口等。  

    Hibernate 是ORM(对象关系映射) 的实现,利用它建立Java 对象模型的持久化对象,进而以面向对象的方式来方便地操作关系数据库。 

    这样Struts、Spring 和Hibernate 就能够很好地封装各个层次的程序,如在处理前台表示层时就不会把事务逻辑和持久化逻辑掺杂进来,从而最大限度地实现各层的高内聚低耦合目标。


相关内容

热门资讯

中构建筑取得钢结构厂房用可伸缩... 国家知识产权局信息显示,中构建筑有限公司取得一项名为“一种钢结构厂房用可伸缩式抗风支撑杆”的专利,授...
西安光机所破解传统光纤在中长波... 中新网西安5月20日电 (记者 阿琳娜)记者20日从西安光机所获悉,该所郭海涛研究员团队成功研制出国...
北约秘书长“和稀泥”:美国在欧... 【文/观察者网 张菁娟】美国五角大楼日前“取消4000名美军驻波部署”的消息触动了波兰的神经,波兰官...
联想面向广大开发者与用户提供1... 5月19日晚,联想集团执行副总裁兼中国区总裁刘军开启天禧AI Skills(技能集)共创“苍穹计划”...
从“卡脖子”到“掰手腕”:中俄... 人民网记者 张齐 第十届中俄博览会上,人流穿梭。有的展台前载歌载舞,有的展台前分发美食,在几家黑龙江...
原创 一... 本文来源于海潮天下(Marine Biodiversity) 欢迎微信搜索“海潮天下”,关注全球环...
太阳“发脾气”地球会怎样?中欧... “微笑”卫星 据中国科学院消息,中欧联合研制的太阳风-磁层相互作用全景成像卫星(英文缩写SMILE,...
原创 野... 本文来源于海潮天下(Marine Biodiversity) 欢迎微信搜索“海潮天下”,关注全球环...
腾讯亮相2026中国网络文明大... 5月19日至20日,以“文明网络空间 昂扬奋进力量”为主题的2026年中国网络文明大会在广西南宁举行...
胡锡进:中俄罕见同时发两份联合... 中国与俄罗斯周三晚间同时发布两项联合声明,这非常罕见,举世瞩目。在第一项联合声明中,中俄两国宣示进一...