- 浏览: 890674 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (687)
- java (127)
- servlet (38)
- struts (16)
- spring (22)
- hibernate (40)
- javascript (58)
- jquery (18)
- tomcat (51)
- 设计模式 (6)
- EJB (13)
- jsp (3)
- oracle (29)
- RUP (2)
- ajax (3)
- java内存管理 (4)
- java线程 (12)
- socket (13)
- path (5)
- XML (10)
- swing (2)
- UML (1)
- JBPM (2)
- 开发笔记 (45)
- Note参考 (15)
- JAXB (4)
- Quartz (2)
- 乱码 (2)
- CSS (2)
- Exception (4)
- Tools (7)
- sqlserver (3)
- DWR (7)
- Struts2 (47)
- WebService (2)
- 问题解决收藏 (7)
- JBOSS (7)
- cache (10)
- easyUI (19)
- jQuery Plugin (11)
- FreeMarker (6)
- Eclipse (2)
- Compass (2)
- JPA (1)
- WebLogic (1)
- powerdesigner (1)
- mybatis (1)
最新评论
-
bugyun:
受教了,谢谢
java 正则表达式 过滤html标签 -
xiongxingxing_123:
学习了,感谢了
java 正则表达式 过滤html标签 -
wanmeinange:
那如果无状态的。对同一个任务并发控制怎么做?比如继承Quart ...
quartz中参数misfireThreshold的详解 -
fanjieshanghai:
...
XPath 元素及属性查找 -
tianhandigeng:
还是没明白
quartz中参数misfireThreshold的详解
以下文字和架构图均在本人相关系统设计 和架构方案中有所应用。
原文出处:http://space.itpub.net/6517/viewspace-609654
1.Spring 架构图
Spring 是一个开源 框架,是为了解决企业 应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE 应用程序开发提供集成的框架。Spring 框架的功能可以用在任何J2EE 服务器中,大多数功能也适用于不受管理 的环境。Spring 的核心要点是:支持不绑定到特定J2EE 服务的可重用业务和数据访问对象。这样的对象可以在不同J2EE 环境(Web 或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 SQL Map 。所有这些都遵从Spring 的通用事务和DAO 异常层次结构。
2.ibatis 架构图
ibatis 是一个基于 Java 的持久层框架。 iBATIS 提供的持久层框架包括 SQL Maps 和 Data Access Objects ( DAO ),同时还提供一个利用这个框架开发的 JPetStore 实例。
IBATIS :最大的优点是可以有效的控制sql 发送的数目,提高数据层的执行效率!它需要程序员自己去写sql 语句,不象hibernate 那样是完全面向对象的,自动化的,ibatis 是半自动化的,通过表和对象的映射以及手工书写的sql 语句,能够实现比hibernate 等更高的查询效率。
Ibatis 只是封装了数据访问层,替我们做了部分的对象关系映射。但代价是必须要写xml 配置文件,相对于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 模式,能够很好地帮助java 开发者利用J2EE 开发Web 应用。和其他的java 架构一样,Struts 也是面向对象设计,将MVC 模式" 分离显示逻辑和业务逻辑" 的能力发挥得淋漓尽致。Structs 框架的核心是一个弹性的控制层,基于如Java Servlets ,JavaBeans ,ResourceBundles 与XML 等标准技术 ,以及Jakarta Commons 的一些类库。Struts 有一组相互协作的类(组件)、Serlvet 以及jsp 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 实现的一个命令设计模式。struts-config.xml 文件配置控制器。
业务逻辑
业务逻辑更新模型的状态,并帮助控制应用程序的流程。就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 请求进行拦截处理,从而提供了更加丰富的功能,例如数据类型转换、国际化、文件上传等。<!-- [if gte vml 1]><v:shape id="_x0000_i1028" type="#_x0000_t75" style='width:362.25pt;height:336.75pt'><v:imagedata src="file:///C:\Users\bq_wang\AppData\Local\Temp\msohtmlclip1\01\clip_image006.png" o:title=""/></v:shape><![endif]--><!-- [if !vml]-->
5.Hibernate 架构图
Hibernate 是一个开放源代码 的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用JDBC 的场合,既可以在Java 的客户端程序使用,也可以在Servlet/JSP 的Web 应用中使用,最具革命 意义的是,Hibernate 可以在应用EJB 的J2EE 架构中取代CMP ,完成数据持久化的重任。
Hibernate 的核心接口一共有5 个,分别为:Session 、SessionFactory 、Transaction 、Query 和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 架构图
J2EE 是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。
J2EE 核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE 架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。
7.Oracle 架构图
发表评论
-
十条不错的编程观点
2011-04-07 13:26 849在Stack Overflow上有这样 ... -
VeloCity velocity 乱码问题 解决总结
2010-11-17 16:54 1399VeloCity velocity 乱码问题 解决总结 vel ... -
MyEclipse8.5如何安装svn
2010-11-11 10:36 1103本文主要是介绍MyEclipse8.5如何通过link方式安装 ... -
Velocity中的ComparisonDateTool、MathTool、NumberTool、SortTool、Escape...
2010-11-08 14:44 1702可以从Apache官方网站自带的例子中查找,位置\velo ... -
使用Synchronized关键字同步类方法1
2010-11-08 10:44 1237要想解决“脏数据”的 ... -
使用Synchronized块同步方法3
2010-11-08 10:40 1180synchronized关键字有两种用法。第一种就是在《使用 ... -
使用Synchronized关键字同步类方法(2)
2010-11-08 10:37 1153在使用synchronized关键字时有以下四点需要注意: ... -
servlet,page指令,meta三者的Content-Type的区别与联系
2010-11-02 14:08 936一.引子下面的servlet能显示中文吗? public c ... -
Servlet RequestDispatcher 路径问题
2010-11-02 10:09 18807. RequestDispatcher.forward(re ... -
优秀Java程序员必须了解的GC工作原理
2010-10-29 23:02 746Weak引用对象与Soft引用对象的最大不同就在于:GC在进行 ... -
Java 2 引用类使用指南
2010-10-29 22:43 676学习如何有效地使用 SoftReference、WeakRef ... -
Java对象的强、软、弱和虚引用
2010-10-29 16:07 744在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程 ... -
编写对GC友好,又不泄漏的代码
2010-10-29 14:55 739作者:江南白衣 ,最新版链接:http:/ ... -
ThreadLocal源码分析
2010-10-29 01:04 1526在阅读《Java Concurrency In Practic ...
相关推荐
高层体系结构 (HLA) 是一种开放的、支持面向对象的体系结构,旨在促进不同仿真系统之间的互操作性和重用性。HLA 提供了一个通用的技术框架,使得现有的各种仿真过程能够在此框架下协同工作,并实现彼此之间的互操作...
不过,我可以根据给出的标题和描述,提供一个关于“大型转载点建筑结构设计”的综合性知识点梳理,但请注意,以下内容并非基于提供的部分内容,而是基于标题和描述所暗示的主题进行的一般性分析。 1. 大型转载点...
构件化信息系统体系结构及其业务构件模型研究 一篇转载的论文
北京大学网络体系结构实习-搜索-wbia-报告及源码 内含《 BBS“十大”博物馆及检索系统(Hoten) 》的所有相关文档,包括爬虫源码、分词、建索引、界面。 还有《基于时间的活动分类搜索》的项目计划书。 1.1 项目背景 ...
【标题】:“多线程文件下载CS结构转载” 在计算机编程中,尤其是涉及到网络通信时,多线程技术是提高程序效率和响应性的重要手段。本文将深入探讨一种客户端-服务器(Client-Server,简称CS)架构下的多线程文件...
本文将对掘进机用带式转载机的设计进行详细解析,包括其技术参数、结构组成、设计选型、安装调试以及通过井下工业性试验来验证其设计合理性和可靠性。 首先,带式转载机的技术参数是其设计的核心内容,它直接关系到...
- **图结构**:介绍图的基本概念、表示方法和常见算法如最短路径算法等。 **第七章和第八章**:专注于排序和查找算法的研究。 - **排序算法**:包括冒泡排序、快速排序等经典算法及其优化版本。 - **查找算法**:...
在大型输送系统中,中间转载装置的设计至关重要,它不仅影响整个输送系统的效率,还涉及到物料的保护、设备的可靠性和系统的经济性。 根据描述,研究以某个具体带式输送机为案例,深入分析了该输送机的工况特点,...
针对综采工作面刮板输送机转载点煤尘运动规律,提出并设计了"软式全封闭"自动喷雾降尘系统。该系统采用矿用胶带作为基本材料进行封闭,与KXP-127矿用自动洒水降尘喷雾装置配合,安装在刮板输送机机头上,随机头运行不断...
针对胶带输送机转载点煤尘运动的特殊性,提出并设计了煤尘自动监测与喷雾降尘系统,由粉尘浓度自动分析系统、自动喷雾系统、浓度超限报警系统和远程控制系统组成,该系统根据安装在运煤胶带或转载点上方,通过煤炭湿度...
6. **图**:图结构用于表示对象之间的复杂关系,如邻接矩阵和邻接表。图的深度优先搜索和广度优先搜索,最短路径问题(Dijkstra算法、Floyd算法)以及最小生成树(Prim算法、Kruskal算法)是考研的重点。 7. **排序...
自移式转载机的作用是将单斗挖掘机挖掘出的物料进行接收并转运,它通过自身动力系统实现移动和定位,以高效、连续的方式完成物料的转载工作。在大型露天矿山的生产线上,自移式转载机通常与带式输送机配合使用,把...
《分类业务的体系结构介绍》为网络专业人士提供了一种基于互联网协议(Internet Protocol, IP)层的关键特性,如吞吐率、时延、时延抖动和丢包率等,来分配网络资源的技术方案。 文档中首先介绍了分类业务的体系...
利用这些工具进行仿真分析,可以对桥式转载机及其转弯装置进行结构和性能的改进。 8. 变频驱动系统的提出:对于下运带式输送机,文章提出了在不同工况条件下实现软启动和软制动的分析,以及变频驱动系统的应用。这...
2.1.1 C/S结构 为充分保证系统在安全性、跨平台性、易扩展性、易维护性等方面的 要求,建议采用C/S架构。在这种结构下,用户界面通过客户端和服务 器端实现,一部分事务逻辑在客户端端实现,但是主要事务逻辑在服务...
ARM体系结构是计算机系统设计的核心部分,其设计理念、结构特性和指令集对现代处理器的性能有着深远的影响。本章详细介绍了ARM体系结构的特点,并与传统CISC(复杂指令集计算机)架构进行了对比分析。ARM内核基于...
通过以上分析可以看出,合理地规划Linux系统的目录结构和硬盘分区不仅能够提高系统的性能,还能有效避免因空间不足导致的问题。在实际操作过程中,还需要根据具体的硬件配置和使用需求进行适当的调整。
自动喷雾系统需要根据煤流的方向、速度以及转载点的结构特点来进行合理布局。这样既能保证喷雾降尘的效果,又能避免影响煤流的正常运输。系统的设计还需要充分考虑操作简便性、维护便捷性以及成本效益等多方面因素。...
2. 结构优化:优化转载机的结构设计,合理分配受力,减少护轴板的磨损。 3. 定期维护和检测:通过定期的检查和维护,及时发现磨损情况并采取措施,防止磨损恶化。 4. 自动化监控:使用先进的监控系统实时监控设备的...