- 浏览: 141758 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (172)
- java (172)
- c# winform 关于窗体最大化时的是否全屏效果与是否遮盖任务栏 (1)
- c# winform 只运行一个程序实例 (1)
- Shiro权限框架 (1)
- Java字节码(.class文件)的代码解析 (1)
- Hibernate、Spring和Struts工作原理及使用理由 (1)
- 基本PKG处理命令 (1)
- 最近写的代码的小结 (1)
- Dual Palindromes (1)
- 编译TortoiseSVN1.7源代码笔记 (1)
- Android项目代码混淆 (1)
- 关于就业叨咕几句 (1)
- Java重定向System.out和System.err (1)
- IHS与WAS集成插件静默安装 (1)
- 专题地图概述 (1)
- 关于MapXtreme2004附带Sample不能运行的问题 (1)
- SQL注入漏洞 (1)
- 回顾过去 展望未来(写给自己) (1)
- DB2认证考试经验谈(700&&701) (1)
- 今天用到了RM格式文件的分割工具RealProducer (1)
- 搜索引擎还是很有发展前途的 (1)
- 泰利德破解,实现学校机房免费上网 (1)
- Arduino 引言:移动互联外设传感展望 (1)
- c/c++ static 用法总结(三版本合一) (1)
- JQuery与xml的组合谈 (1)
- Android开发之消息处理机制(一)——Handler (1)
- Android开发之PopupWindow (1)
- 解析BitmapData.getPixel32()返回值因何不准确 (1)
- 关于Ext引用js的顺序问题 (1)
- Js事件大全 (1)
- 使用JavaFX2.0编写国际象棋游戏 (1)
- Hibernate/JPA常见异常分析与解决 (1)
最新评论
-
amcucn:
这排版看得
Shiro权限框架 -
WAMING5:
这也太紧凑了,眼看花了
Shiro权限框架 -
longzhun:
大虾 ,看得出你很懒啊!发个贴 这样子怎么看!!!
Shiro权限框架 -
swanky_yao:
活干的不细!!
Spring+Hibernate框架下Mysql读写分离、主从数据库配 -
饶首建:
不错,不过用处比较少吧
批处理设ip和dns
Hibernate、Spring和Struts工作原理及使用理由
(转自:http://tech.hexun.com/2009-06-03/118279933.html)
?
?
<span style="">1.读取并解析配置文件</span>
<p style=""> 2.读取并解析映射信息,创建SessionFactory
<p style=""> 4.创建事务Transation
<p style=""> 6.提交事务
<p style=""> 8.关闭SesstionFactory
<p style=""> 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
<p style=""> 3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
<p style=""> 2. Hibernate是如何延迟加载?
<p style=""> 2. Hibernate3 提供了属性的延迟加载功能
<p style=""> 3.Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)
<p style=""> 4. 说下Hibernate的缓存机制
<p style=""> 2. 二级缓存:
<p style=""> b) 分布式缓存
<p style=""> c) 第三方缓存的实现
<p style=""> Sql、Criteria,t comptosition
<p style=""> 1、 属性查询
<p style=""> 3、 关联查询
<p style=""> 5、 统计函数
<p style=""> 1.使用双向一对多关联,不使用单向一对多
<p style=""> 3.不用一对一,用多对一取代
<p style=""> 5.一对多集合使用Bag,多对多集合使用Set
<p style=""> 7. 表字段要少,表关联不要怕多,有二级缓存撑腰
<p style=""> 工作机制:
<p style=""> 在web应用启动时就会加载初始化ActionServlet,ActionServlet从
<p style=""> 当ActionServlet接收到一个客户请求时,将执行如下流程.
<p style=""> -(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;
<p style=""> -(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象,就表示表单验证成功;
<p style=""> -(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给ActionForward对象指向的JSP组件;
<p style=""> 为什么要用:
<p style=""> 基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件
<p style=""> 在struts配置文件中配置具体的错误提示,再在FormBean中的validate()方法具体调用。
<p style=""> MVC模式:web应用程序启动时就会加载并初始化ActionServler。用户提交表单时,一个配置好的ActionForm对象被创建,并被填入表单相应的数据,ActionServler根据Struts-config.xml文件配置好的设置决定是否需要表单验证,如果需要就调用ActionForm的Validate()验证后选择将请求发送到哪个Action,如果Action不存在,ActionServlet会先创建这个对象,然后调用Action的execute()方法。Execute()从ActionForm对象中获取数据,完成业务逻辑,返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指定的jsp组件,ActionForward对象指定的jsp生成动态的网页,返回给客户。
<p style=""> 1.springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。
<p style=""> 3.DispatcherServlet请请求提交到目标Controller
<p style=""> 5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象
<p style=""> 为什么用:
<p style=""> IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词 倒置 所表明的,IOC 就像反过来的JNDI。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straightconstruction),每一个对象都是用其协作对象构造的。因此是由容器管理协作对象(collaborator)。
<p style=""> Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean 的方式,如图 1 所示。
<p style=""> 核心容器:核心容器提供 Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
<p style=""> Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于Spring的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。
<p style=""> Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM的对象关系工具,其中包括JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和DAO异常层次结构。
<p style=""> Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC实现。通过策略接口,MVC框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText 和 POI。
<p style=""> 共2页: 1 [2]
<p style=""> 第 1 页:Hibernate工作原理及用的理由(1) 第 2 页:Hibernate工作原理及用的理由(2)
<p style=""> 控制反转模式(也称作依赖性介入)的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器(在Spring框架中是 IOC 容器) 负责将这些联系在一起。
<p style=""> Spring 框架的 IOC 容器采用类型 2 和类型3 实现。
<p style=""> 面向方面的编程
<p style=""> AOP 和IOC是补充性的技术,它们都运用模块化方式解决企业应用程序开发中的复杂问题。在典型的面向对象开发方式中,可能要将日志记录语句放在所有方法和Java类中才能实现日志功能。在 AOP方式中,可以反过来将日志服务模块化,并以声明的方式将它们应用到需要日志的组件上。当然,优势就是Java类不需要知道日志服务的存在,也不需要考虑相关的代码。所以,用 Spring AOP 编写的应用程序代码是松散耦合的。
<p style=""> IOC 容器
<p style=""> BeanFactory 支持两个对象模型。
<p style=""> 原型 模型确保每次检索都会创建单独的对象。在每个用户都需要自己的对象时,原型模型最适合。
<p style=""> BeanFactory 接口
<p style=""> 清单 1. XmlBeanFactory
<p style=""> 在 XML 文件中定义的 Bean 是被消极加载的,这意味在需要 bean 之前,bean本身不会被初始化。要从BeanFactory 检索 bean,只需调用 getBean() 方法,传入将要检索的 bean的名称即可,如清单 2所示。
<p style=""> MyBean mybean = (MyBean) factory.getBean("mybean");
<p style=""> IOC 示例
<p style=""> 我用开启在线信用帐户的用例作为起点。对于该实现,开启信用帐户要求用户与以下服务进行交互:
<p style=""> 远程信息链接服务,插入客户信息,将客户信息与信用卡和银行信息连接起来,以进行自动借记(如果需要的话)。
<p style=""> 三个接口
<p style=""> 清单 3. CreditRatingInterface
<p style=""> 清单 3 所示的信用级别评定接口提供了信用历史信息。它需要一个包含客户信息的 Customer对象。该接口的实现是由CreditRating 类提供的。
<p style=""> public interface CreditLinkingInterface
<p style=""> 信用链接接口将信用历史信息与银行信息(如果需要的话)连接在一起,并插入用户的信用卡信息。信用链接接口是一个远程服务,它的查询是通过getUrl()方法进行的。URL 由 Spring 框架的 bean 配置机制设置,我稍后会讨论它。该接口的实现是由CreditLinking类提供的。
<p style=""> public interface EmailInterface
public void sendEmail(ICustomer iCustomer); publicStringgetFromEmail(); public void setFromEmail(String fromEmail) ;publicString getPassword(); public void setPassword(Stringpassword) ;public String getSmtpHost() ; public voidsetSmtpHost(StringsmtpHost); public String getUserId() ; publicvoid setUserId(StringuserId);
?
发表评论
-
Hibernate/JPA常见异常分析与解决
2012-02-07 17:24 15021. ClassNotFoundException: ... -
使用JavaFX2.0编写国际象棋游戏
2012-02-07 16:24 1089前面发布了不少Javafx2的教程,不觉手痒,想尝试一 ... -
Js事件大全
2012-02-04 15:34 784一般事件 事件 ... -
关于Ext引用js的顺序问题
2012-02-02 15:49 759今天自己搞了个ext的helloworld,所需的包都 ... -
解析BitmapData.getPixel32()返回值因何不准确
2012-02-02 12:29 995<div style="widt ... -
Android开发之PopupWindow
2012-01-31 13:48 1676<h1>Android开发之PopupWi ... -
Android开发之消息处理机制(一)——Handler
2012-01-11 15:19 1166<h1>Android开发之消息处理机制( ... -
JQuery与xml的组合谈
2011-12-21 17:18 794JQuery与xml的组合谈 今天谈的是XML,学ja ... -
c/c++ static 用法总结(三版本合一)
2011-12-21 10:34 814<span style="&qu ... -
Arduino 引言:移动互联外设传感展望
2011-12-20 14:08 1325作者:mznewfacer (Wolf Geek) ... -
泰利德破解,实现学校机房免费上网
2011-12-20 13:58 945泰利德破解,实现学校机房免费上网<br> ... -
搜索引擎还是很有发展前途的
2011-12-19 11:49 959相信大家已经听说,在头几天,搜狐推出了一个专业搜索门户 ... -
今天用到了RM格式文件的分割工具RealProducer
2011-12-19 09:19 705项目要加一些视频文件,这些视频都是几个老师对数据结构课 ... -
DB2认证考试经验谈(700&&701)
2011-12-16 17:17 1114很多人都通过了D ... -
回顾过去 展望未来(写给自己)
2011-12-15 16:19 1495本来想用“昨天今天明天”做标题来着,但是人家本山大叔说 ... -
SQL注入漏洞
2011-12-15 12:19 717CSDN上的ASP.NET电子杂志下载下来看,就看到了 ... -
关于MapXtreme2004附带Sample不能运行的问题
2011-12-15 10:54 680</span> -
专题地图概述
2011-12-14 12:49 847<p class="MsoNorma ... -
IHS与WAS集成插件静默安装
2011-12-14 12:04 965<span style="col ... -
Java重定向System.out和System.err
2011-12-13 14:49 1173<div>继承PrintStream类: ...
相关推荐
### Hibernate、Spring和Struts工作原理及使用理由 #### Hibernate工作原理及使用理由 **1. Hibernate概述** Hibernate是一个开放源代码的ORM(Object-Relational Mapping)框架,用于简化数据库操作,它允许将...
Spring+Struts+Hibernate(SSH)是Java EE领域中一种经典的开源框架组合,用于构建企业级的Web应用程序。这个框架组合充分利用了各自的优势,实现了松散耦合的三层架构,提高了代码的可重用性和可维护性。 首先,让...
hibernate,spring,struts三个框架 hibernate,spring,struts三个框架 hibernate,spring,struts三个框架 hibernate,spring,struts三个框架
struts hibernate spring 框架运用struts hibernate spring 框架运用struts hibernate spring 框架运用struts hibernate spring 框架运用
Struts、Spring 和 Hibernate 是Java开发中非常重要的三个开源框架,它们在构建企业级Web应用程序时发挥着核心作用。下面将分别详细介绍这三个框架的工作原理。 1. Struts工作原理: Struts 是一个基于MVC(Model-...
《Spring+Struts+Hibernate整合开发》是一本深入讲解企业级Java应用开发的书籍,它主要聚焦于三大著名开源框架——Spring、Struts和Hibernate的集成与应用。这些框架是Java Web开发中的基石,广泛应用于各种复杂的...
Spring、Hibernate和Struts是Java开发中非常重要的三个框架,它们构成了经典的MVC(Model-View-Controller)架构,被广泛应用于企业级Web应用开发。这些框架极大地简化了开发过程,提高了开发效率,并且提供了良好的...
一个spring+struts+hibernate的例子,是eclipse的工程,用tomcat5和mysql,文件夹下包含所有的源码和库,另外还有一个.sql的文件用于建立数据库。大家觉得它有什么不好,欢迎交流
《图书管理系统spring+struts+hibernate》是一款基于Java技术栈开发的图书管理软件,其核心框架包括Spring、Struts和Hibernate。该系统利用MySQL作为数据库存储数据,提供了完整的数据库备份,确保了数据的安全性与...
当这三个框架结合使用时,通常Spring作为"粘合剂",负责管理Struts的Action和Hibernate的SessionFactory。Spring的AOP可以用来处理Struts的事务控制,使得事务管理更加统一和透明。同时,Spring的ApplicationContext...
Struts Hibernate Spring Ajax Struts Hibernate Spring Ajax
在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...
整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...
Spring、Struts和Hibernate是Java Web开发中三大核心框架,它们各自负责不同的职责:Spring作为依赖注入容器和面向切面编程(AOP)框架,提供应用的结构和事务管理;Struts是MVC(模型-视图-控制器)框架,负责处理...
Spring4.0+Hibernate4.0+Struts2.3整合案例:实现增删改查。 ===================== application.xml: xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts...
在整合Struts2、Spring和Hibernate时,我们通常会遇到一些包冲突的问题,尤其是在使用IDE如MyEclipse时。这可能是由于不同库版本之间的不兼容性,或者是重复引入了相同的类导致的。解决这些问题通常需要仔细检查项目...