JAVA各种系统架构图及其简介
1.架构图
Spring是⼀个框架,是为了解决应⽤程序开发复杂性⽽创建的。框架的主要优势之⼀就是其分层架构,分层架构允许您选择使⽤哪⼀个组件,同时为J2EE应⽤程序开发提供集成的框架。Spring框架的功能可以⽤在任何J2EE服务器中,⼤多数功能也适⽤于不受的环境。Spring 的核⼼要点是:⽀持不绑定到特定J2EE服务的可重⽤业务和数据访问对象。这样的对象可以在不同J2EE环境(或EJB)、独⽴应⽤程序、环境之间重⽤。
组成Spring框架的每个模块(或组件)都可以单独存在,或者与其他⼀个或多个模块联合实现。每个模块的功能如下:
核⼼容器:核⼼容器提供Spring框架的基本功能。核⼼容器的主要组件是BeanFactory,它是⼯⼚模式的实现。BeanFactory使⽤控制反转(IOC)模式将应⽤程序的配置和依赖性规范与实际的应⽤程序分开。
Spring上下⽂:Spring上下⽂是⼀个配置⽂件,向Spring框架提供上下⽂信息。Spring上下⽂包括企业服务,例如JNDI、EJB、电⼦邮件、国际化、校验和调度功能。
Spring AOP:通过配置管理特性,Spring AOP模块直接将⾯向⽅⾯的功能集成到了Spring框架中。所以,
可以很容易地使Spring框架管理的任何对象⽀持AOP。Spring AOP模块为基于Spring的应⽤程序中的对象提供了事务管理服务。通过使⽤Spring AOP,不⽤依赖EJB组件,就可以将声明性事务管理集成到应⽤程序中。
Spring DAO:JDBC DAO抽象层提供了有意义的异常层次结构,可⽤该结构来管理异常处理和不同供应商抛出的错误消息。异常层次结构简化了错误处理,并且极⼤地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO的⾯向JDBC的异常遵从通⽤的DAO异常层次结构。
Spring ORM:Spring框架插⼊了若⼲个ORM框架,从⽽提供了ORM的对象关系⼯具,其中包括JDO、Hibernate和iBatis  Map。所有这些都遵从Spring的通⽤事务和DAO异常层次结构。
2.ibatis架构图
ibatis是⼀个基于的持久层框架。iBATIS提供的持久层框架包括SQL Maps和 Access Objects(DAO),同时还提供⼀个利⽤这个框架开发的JPetStore实例。
O G X%E@m x0
IBATIS:最⼤的优点是可以有效的控制sql发送的数⽬,提⾼数据层的执⾏效率!它需要程序员⾃⼰去写sql语句,不象那样是完全⾯向对象的,⾃动化的,ibatis是半⾃动化的,通过表和对象的映射以及⼿⼯
书写的sql语句,能够实现⽐hibernate等更⾼的查询效率。
Ibatis只是封装了数据访问层,替我们做了部分的对象关系映射。但代价是必须要写配置⽂件,相对于Hibernate还要写很多sql。Hibernate 通过⼯具直接从模式⽣成实体类和基本的配置⽂件,⽽且⼤部分情况下不需要我们写sql,会较⼤的提升开发效率。但这些也有很多的局限性,尤其是对环境的要求较⾼(数据库设计,对象设计,团队的协作等)。个⼈感觉Ibatis对项⽬⽐较有意义的地⽅在于它⼩巧灵活,可扩展,封装了数据访问层(事务,缓存,异常,⽇志),并提供了DAO框架⽀持。
利⽤Ibatis我们可以做到代码和sql的分离,只要sql能够解决的问题,Ibatis就能帮我们较容易的解决,同时也使我们的项⽬对某⼀框架的依赖性变⼩(因为Ibatis是⾮侵⼊性的)。这将极⼤的降低项⽬风险,减少解决复杂问题的时间,使项⽬的维护变得简单。
Ibatis对于应⽤的修改,调试,扩充和维护将会变得容易⾃然。修改时,我们主要修改的是代表模型的实体对象,xml配置⽂件中的sql,和/或配置⽂件的ResultMap(很多时候是不需要的)。同时,sql和代码分离,我们不⽤在代码的StringBuffer的append⽅法之间寻需要修改的sql。配置⽂件中的sql便利了我们的调试和对sql的评审及以后的sql重⽤。
3.structs1架构图
Struts是Apache基⾦会Jakarta项⽬组的⼀个Open Source项⽬,它采⽤MVC模式,能够很好地帮助开发者利⽤J2EE开发Web应⽤。和其他的java架构⼀样,Struts也是⾯向对象设计,将MVC模式"分离显⽰逻辑和业务逻辑"的能⼒发挥得淋漓尽致。Structs框架的核⼼是⼀个弹性的控制层,基于如Servlets,JavaBeans,ResourceBundles与XML等标准,以及Jakarta Commons的⼀些类库。Struts有⼀组相互协作的类(组件)、Serlvet以及 tag lib组成。基于struts构架的web应⽤程序基本上符合JSP Model2的设计标准,可以说是⼀个传统MVC设计模式的⼀种变化类型。 
Struts有其⾃⼰的控制器(Controller),同时整合了其他的⼀些技术去实现模型层(Model)和视图层(View)。在模型层,Struts可以很容易的与数据访问技术相结合,如JDBC / EJB,以及其它第三⽅类库,如Hibernate / iBATIS,或者Object Relational Bridge(对象关系桥)。在视图层,Struts能够与JSP,包括JSTL与JSF,以及Velocity模板,XSLT与其它表⽰层技术。
Struts为每个专业的Web应⽤程序做背后的⽀撑,帮助为你的应⽤创建⼀个扩展的开发环境。
Client browser(客户浏览器)
来⾃客户浏览器的每个HTTP请求创建⼀个事件。Web容器将⽤⼀个HTTP响应作出响应。
Controller(控制器)
控制器接收来⾃浏览器的请求,并决定将这个请求发往何处。就Struts⽽⾔,控制器是以servlet实现的⼀个命令设计模式。l ⽂件配置控制器。
业务逻辑
业务逻辑更新模型的状态,并帮助控制应⽤程序的流程。就Struts⽽⾔,这是通过作为实际业务逻辑“瘦”包装的Action类完成的。
Model(模型)的状态
模型表⽰应⽤程序的状态。业务对象更新应⽤程序的状态。ActionForm. bean在会话级或请求级表⽰模型的状态,⽽不是在持久级。JSP⽂件使⽤JSP标记读取来⾃ActionForm. bean的信息。
View(视图)
视图就是⼀个JSP⽂件。其中没有流程逻辑,没有业务逻辑,也没有模型信息--只有标记。标记是使Struts有别于其他框架(如Velocity)的因素之⼀
4.structs2架构图
Struts 2相对于Struts 1.X,将实现⽤户业务逻辑(Action)同Servlet API分离开,这种分离机制,是采⽤了或者栈(链)。是Struts 2的核⼼内容之⼀。
Struts 2内建了多个和栈(由多个形成的链),将⽤户的Web请求进⾏拦截处理,从⽽提供了更加丰富的功能,
例如数据类型转换、国际化、⽂件上传等。
5.Hibernate架构图
Hibernate是⼀个开放的对象关系映射框架,它对JDBC进⾏了⾮常轻量级的对象封装,使得Java程序员可以随⼼所欲的使⽤对象编程思维来操纵数据库。Hibernate可以应⽤在任何使⽤JDBC的场合,既可以在Java的客户端程序使⽤,也可以在Servlet/JSP的Web应⽤中使⽤,最具⾰命意义的是,Hibernate可以在应⽤EJB的J2EE架构中取代CMP,完成数据持久化的重任。
  Hibernate的核⼼接⼝⼀共有5个,分别为:Session、、Transaction、和Configuration。这5个核⼼接⼝在任何开发中都会⽤到。通过这些接⼝,不仅可以对持久化对象进⾏存取,还能够进⾏事务控制。下⾯对这五个核⼼接⼝分别加以介绍。
·Session接⼝:Session接⼝负责执⾏被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,
包含了很多常见的SQL语句。)。但需要注意的是Session对象是⾮线程安全的。同时,Hibernate的session不同于JSP应⽤中的HttpSession。这⾥当使⽤session这个术语时,其实指的是Hibernate中的session,⽽以后会将HttpSesion对象称为⽤户session。
·SessionFactory接⼝:SessionFactory接⼝负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这⾥⽤到了⼯⼚模式。需要注意的是SessionFactory并不是轻量级的,因为⼀般情况下,⼀个项⽬通常只需要⼀个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定⼀个SessionFactory。
·Configuration接⼝:Configuration接⼝负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例⾸先定位映射⽂档位置、读取配置,然后创建SessionFactory对象。
·Transaction接⼝:Transaction接⼝负责事务相关的操作。它是可选的,开发⼈员也可以设计编写⾃⼰的底层事务处理代码。
·Query和Criteria接⼝:Query和Criteria接⼝负责执⾏各种数据库查询。它可以使⽤HQL语⾔或SQL语句两种表达⽅式。
6.J2EE架构图java的基本框架
J2EE是⼀套全然不同于传统应⽤开发的技术架构,包含许多组件,主要可简化且规范应⽤系统的开发与部署,进⽽提⾼可移植性、安全与再⽤价值。
J2EE核⼼是⼀组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使⽤的信息产品彼此之间⽆法兼容,导致企业内部或外部难以互通的窘境。
7.架构图

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。