聊一聊JavaEE的框架

对JavaEE框架进行简单总结

Struts、Sping和Hibernate是java Web开发中广泛应用的开源框架,在开发中将框架集成起来可以使工作量大大简化,降低开发成本。(虽然用Spring+SpringMVC+Mybatis的更多了,还有些大公司都有自己的框架,但这些框架技术的思想、理念并没有摒弃,Spring的IOC,AOP,事务管理这些怎么都得用着的)

一、Struts

  基于MVC设计模式的框架,本质上相当于一个servlet,它可以减少在运用MVC设计模型来开发Web应用的时间,通过Struts混合使用Servlets和JSP的优点可以建立可扩展的应用

  控制器:使用ActionServlet充当控制层,将请求分发配置在配置文件struts.cfg.xml文件中,当客户发送一个HTTP请求时,将由Struts的中央控制器分发处理请求,然后返回ActionForward对象将请求转发到指定的jsp页面回应客户端

  模型:ActionForward封装表单数据,能够与网页表单交互和传送数据,业务JavaBean处理实际业务请求,它由Action调用

  视图:框架提供了增强jsp页面功能的的标签库,通过标签库与jsp页面实现视图层

基本原理:

1、jsp页面发起请求,web服务器解析主机、web应用和资源名,并转发给ActionServlet(Struts总控制器)——>2、actionServlet(Control层)查询struts-config.xml文件,把用户数据填充到表单(Struts核心文件,它配置了actionForm、action和他们的对应关系),调用action——>3、action获取表单数据,调用model处理请求,并将结果返回给actionServlet——>4、actionServlet查询struts-config.xml文件,把静态html返回给Web服务器——>5、web服务器返回静态html到浏览器

二、Sping

  以IOC和AOP两种技术为基础,能够降低开发企业级应用程序复杂度的开源设计层面框架,它将面向接口的编程思想贯穿整个系统应用,解决业务逻辑层和其他各层的松耦合问题。

主要特点:

1.低侵入式设计,代码污染极低
2.独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺
3.Spring的DI机制降低了业务对象替换的复杂性,提高了组件之间的解耦
4.Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用
5.Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问

6.Spring并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部

框架组成:

Spring 框架是一个分层架构,由 核心模块、上下文模块、AOP模块、DAO模块、ORM模块、Web模块、MVC框架7 个定义良好的模块组成:

1、核心模块:核心容器提供 Spring 框架的基本功能(Spring Core)。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转(IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
2、上下文模块:Spring 上下文是一个配置文件,向 Spring框架提供上下文信息。Spring 上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。
3、AOP模块:通过配置管理特性,Spring AOP 模块直接将面向切面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
4、DAO模块:JDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
5、ORM模块:Spring 框架插入了若干个ORM框架,从而提供了 ORM 的对象关系工具,其中包括JDO、Hibernate和iBatisSQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
6、Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。

7、Spring MVC 框架:MVC框架是一个全功能的构建 Web应用程序的 MVC 实现。通过策略接口,MVC框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。模型由javabean构成,存放于Map;视图是一个接口,负责显示模型;控制器表示逻辑代码,是Controller的实现。Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同J2EE 环境(Web 或EJB)、独立应用程序、测试环境之间重用。

三、Hibernate

  一个开放源代码的对象关系映射框架,用于与数据库连接。它对JDBC进行了非常轻量级的对象封装,将POJO与数据库表建立映射关系,是一个全自动的orm框架。hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

主要特点:

1、封装了jdbc,简化了很多重复性代码。
2、简化了DAO层编码工作,使开发更对象化了。
3、移植性好,支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码。
4、支持透明持久化,因为hibernate操作的是纯粹的(pojo)java类,没有实现任何接口,没有侵入性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值