浅谈Java三大框架与应用

作者:mdxy-dxy 时间:2023-04-16 18:25:01 

前言:对于一个程序员来说,尤其是在java web端开发的程序员,三大框架:Struts+Hibernate+Spring是必须要掌握熟透的,因此,下面谈谈java三大框架的基本概念和原理。

JAVA三大框架

一、Spring Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。

Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。
Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。

二、STRUCTS Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。

由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。

三、Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

JAVA三大框架用来做WEB应用。

struts主要负责表示层的显示 spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作)
hibernate主要是数据的持久化到数据库 在用jsp的servlet做网页开发的时候有个web.xml的映射文件,里面有个mapping的标签就是用来做文件映射的。 当你在浏览器上输入URL地址的时候,文件就会根据你写的名称对应到一个java文件,根据java文件里编写的内容显示在浏览器上,就是一个网页,所以网页名字是随便写的,随便起的名字,不管你起的是.php .jsp .do还是其他的什么都对应这个java文件,这个java文件里的代码进行什么操作就干什么,显示一句话还是连接数据库还是跳转到其他页面等等,这个java文件把数据进行封装起到安全和便于管理的作用。其实这个java文件编译过来是.class的一个字节码文件,没有那么一个类似html嵌入标签和代码的网页文件。他与jsp文件区别就是jsp把代码嵌入到html标签中。 还有servlet或者struts中html表单的action中的提交名称对应一个java文件,struts一般是.do的,都和上面一样是映射。

总结:简单来说:

Struts是web开发框架负责表单提交(相当于电脑显卡)
Hibernate负责对数据库的操作(相当于电脑CPU)
Spring相当于一个主板(将显卡和CPU组装在一起)

标签:Java,三大框架
0
投稿

猜你喜欢

  • 重新认识Java的System.in

    2023-08-24 01:55:18
  • Flutter Shell自动化打包解放双手

    2021-09-17 18:39:15
  • 关于IDEA2020.1新建项目maven PKIX 报错问题解决方法

    2023-12-26 14:04:44
  • Java中的collection集合类型总结

    2023-04-17 17:31:43
  • MVPXlistView展示上拉下拉效果

    2022-10-30 10:45:38
  • Java实现导入导出Excel文件的方法(poi,jxl)

    2021-09-13 21:12:35
  • Java五种方式实现多线程循环打印问题

    2023-03-07 20:34:12
  • C#程序加密工具.Net Reactor详细教程

    2021-07-27 18:08:39
  • springboot读取配置文件中的参数具体步骤

    2023-11-29 05:46:14
  • 一文带你了解SpringBoot的启动原理

    2023-11-28 20:44:42
  • Mybatis的几种传参方式详解

    2021-12-08 15:35:53
  • SpringCloud网关Gateway架构解析

    2023-03-17 00:18:42
  • 实例代码讲解JAVA 观察者模式

    2023-09-11 19:22:18
  • SpringCloud之微服务容错的实现

    2023-11-29 02:02:22
  • Android LuBan与Compressor图片压缩方式

    2022-11-29 01:18:41
  • Android Studio报:“Attribute application@theme or @ icon ”问题的解决

    2023-11-07 09:49:18
  • VisualStudio Community2019在安装的过程中无法进入安装界面的解决方法

    2023-02-09 11:24:34
  • SpringMVC学习之JSTL条件行为和遍历行为详解

    2021-08-19 08:56:09
  • C#中public变量不能被unity面板识别的解决方案

    2022-03-26 18:17:18
  • Android开发之设置开机自动启动的几种方法

    2021-12-04 20:35:37
  • asp之家 软件编程 m.aspxhome.com