浅谈springhibernate整合

Spring+Hibernate整合Spring是一个轻量级的bean容器,它为业务对象(businessobjects)、DAO对象和资源对象(如:JDBC数据源或者HibernateSessionFactorie等)提供了IoC类型的装配能力。Spring通过使用一个xml格式的配置文件,为开发者提供了一种通过定制属性文件来手动管理单例对象或工厂对象的可选择性。由于Spring将非侵入性做为一个重要的目标,因此由Spring配置管理的bean均不需要依赖Spring自身的接口和类,就可以通过它们的bean属性完成配置。从而可以被应用到任何环境中,无论你开发的是一个J2EE的web应用还是一个桌面应用甚至只是一个applet都可以。在使用Hibernate的应用中,Spring对DAO对象通常的事务管理机制应该特别引起关注。它的目的就是分离数据访问和事务处理,使事务性业务对象不与任何特殊的数据访问或事务策略耦合在一起,从而不影响业务对象的可复用性。这种划分既可以经由事务模板(TransactionTemplate)用在java代码中编程的方式实现,也可以经由AOP的事务拦截器(一般用TransactionProxyFactoryBean)用在配置文件中声明的方式实现。无论是本地的Hibernate/JDBC事务,还是JTA事务都支持对象外的事务策略,这对于本地的无状态会话Bean是一个非常有用的选择。Spring的HibernateTemplate类提供了一个简单的方式实现了Hibernate-basedDAO对象,而不必关心如何获得Hibernate的Session实例,也不必关心多方参与的事务处理。无需使用try-catch块,也无需进行事务检查。一个简单的Hibernate访问方法就完全解决了这些麻烦!无论是在多个DAO接口还是在多方事务的情况下,Spring使得多种DAO对象无缝地协同工作。例如:某些DAO对象可能是基于plainJDBC的实现,更适合于经由Spring的JdbcTemplate来避免手动的异常处理。你可以单独地使用许多Spring特性,因为Spring的所有对象都是设计成可复用的JavaBean的集合。使用其他的Spring特性时,应用配置概念是一个附加的特性,并不是一个必须的特性。无论如何,当你要决定去构建一个象Spring这样的内在的基础架构的时候并没有什么范围上的限制。1.介绍:资源管理典型的业务应用系统常常由于重复的资源管理代码而导致混乱。许多项目试着用自己的方法来解决这个问题,有时为此要付出失败的代价,Spring针对适当的资源管理提倡了一种引人注目的简单方法:即经由模板来倒置控制(Inversionofcontrol),例如:基础类使用回调接口,或者应用AOP拦截器。其基础核心是适当的资源处理和将特殊的API异常转换为一个unchecked的基础异常。Spring引入了一个DAO异常层用于任何数据访问策略。Spring框架对于直接的JDBC或JdbcTemplate类,都会将Connection异常、SQLException异常转换为适当的DataAccessException异常,包括对特殊数据库的SQL错误转换为有意义的异常。经由不同的事务管理对象,Spring支持JTA和JDBC事务。Spring也提供对Hibernate的支持,它的这种支持由类似于JdbcTemplate的HibernateTemplate类、HibernateInterceptor类,还有Hibernate事务管理类组成。Spring框架最主要的目的是使系统层次分明,即将数据访问和事务处理同应用对象分离开来。所有的业务对象都不再依赖数据访问或者事务策略。不再有硬编码的资源查找代码,不再有难以替换的单例对象,也不再需要定制服务注册。所有的单独的数据访问特性均无需依赖于Spring而单独使用,无需让Spring知道,同时也可以通过Spring的应用配置来进行装配(提供基于XML的配置和对普通JavaBean实例的交叉引用)。在一个典型的Spring应用中,大部分重要的对象都是普通的JavaBean:数据访问模板对象(dataaccesstemplates)、数据访问对象(使用数据访问模板对象的对象)、事务管理对象及业务对象(使用数据访问对象和事务对象的对象),web表示分解对象、web控制对象(使用业务对象的对象)等等。2.应用配置中的资源定义为了避免应用对象将查找资源的代码进行硬编码,Spring允许在应用配置中将一个如JDBCDataSource或者HibernateSessionFactory定义为一个Bean。应用对象如果需要访问资源只需要通过Bean引用(DAO定义在下一部分说明)接受先前定义的实例的引用。以下的内容引用自一个应用配置...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?