
Spring
sghys
一些情,一些事
展开
-
Spring IOC
Spring IOCIoC (Inversion Of Control)中文名为控制反转,就是由容器来控制业务对象之间的依赖关系,而非传统实现中,由代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。控制权的转移带来的好处就是降低了业务对象之间的依赖程度。 1) 依赖查找:容器中的受控对象通过容器的API来查找自己所依赖的资源和协作对象转载 2008-02-13 17:03:00 · 995 阅读 · 0 评论 -
spring拦截器中的事务管理
探讨一下spring拦截器中的数据库操作和事务管理。 大家知道spring中的事务管理是通过AOP代理来实现的,对被代理对象的每个方法进行拦截,在方法执行前启动事务,方法执行完后根据是否有异常和异常的种类进行提交或回滚。 如果要在方法执行前或后或抛出异常后加上一个自己的拦截器,或者一个环绕拦截器,在拦截器中执行一些操作,比如执行一些数据库操作,记录一些信息,这些操作通过调用一个服务类的方法来执行,转载 2008-01-03 15:41:00 · 6761 阅读 · 0 评论 -
spring事务管理1
事务管理的方式:编程式和声明式,spring推荐使用后一种方式。 事务管理的原理:Aop为普通java类封装事务控制,它是通过动态代理实现的,spring在这段时间内通过拦截器,加载事务切片。由于Aop的原理是动态加载(回去研究一下proxy动态加载)来进行事务控制的。事务管理的步骤(以hibernate为例):1.定义一个hibernate适用的事务管理器,将SessionFacto转载 2007-12-29 13:23:00 · 2239 阅读 · 0 评论 -
Spring事务管理原理
Spring是以代理的方式实现对事务的管理。我们在Action中所使用的Service对象,其实是代理对象的实例,并不是我们所写的Service对象实例。既然是两个不同的对象,那为什么我们在Action中可以象使用Service对象一样的使用代理对象呢?为了说明问题,假设有个Service类叫AService,它的Spring事务代理类为AProxyService,AService实现了一个接口转载 2007-12-29 13:28:00 · 7728 阅读 · 1 评论 -
Failed to lazily initialize a collection - no session or session was closed
环境 spring+hibernate3+struts今天又碰到错误failed to lazily initialize a collection of role: no session or session was closed试验了一下发现了几个解决方法:1、是把对应一对多的那两个列lazy=true改为lazy=false即可2、对于查询中如果用的是xxx.load转载 2007-12-15 14:46:00 · 8227 阅读 · 0 评论 -
让Spring架构减化事务配置
让Spring架构减化事务配置注:原创文章,本文曾发表于it168Spring颠覆了以前的编程模式,引入了IOC等全新的概念,广受大家的喜爱。目前大多数j2ee项目都已经采用Spring框架。 Spring最大的问题是太多的配置文件,使得你不仅需要维护程序代码,还需要额外去维护相关的配置文件。最典型的就是事务配置(注:这里的“事务配置” 都指“声明式事务配置”),在Spring中进行事务配置除了定转载 2007-12-04 15:30:00 · 2064 阅读 · 1 评论 -
AOP应用实例--Spring事务处理及其AOP框架的内幕
Spring框架中成功吸引人的一点就是容器事务的管理,提供了一个轻量级的容器事务处理,针对的对象是普通的java类,使用Spring事务管理的话,你可以按照自己的业务把一些相关的方法纳入其事务管理里面,这就避免了程序员在处理事务的过程中繁琐的工作.同时这些也是ejb2.X规范里面吸引人的一点,这在spring里面都很好的提供.虽然在跨容器的事务管理,spring里面并没有提供,但是对于一般的we转载 2007-12-04 15:29:00 · 846 阅读 · 0 评论 -
Spring事务处理
Spring中事务的定义:一、Propagation :对于特定的方法或方法命名模式,代理的具体事务行为由事务属性驱动,如下面的例子所示:PROPAGATION_REQUIRED,readOnlyPROPAGATION_REQUIRED key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。有以下选项可供使用: PROPAGATION_转载 2007-12-04 15:27:00 · 1359 阅读 · 0 评论 -
AOP浅析
AOP浅析想必大家对OOP都不陌生,就是面向对象编程.其实aop也没很多人说的那么神秘.有很多文章中都把AOP 说成是面向方面编程,就我感觉来说面向方面这个词不见得那么恰当,并且容易让人产生误解,(:让人会想方面到底是什么呢)。OOP和AOP之间也没有什么前因后果的关系。 为避免晦涩的词语解释,下面我就用一下小例子来说明用动态代理来实现AOP, Business.class Jav转载 2008-02-13 16:58:00 · 677 阅读 · 0 评论 -
Log4j 配置 的webAppRootKey参数问题
Log4j 配置 的webAppRootKey参数问题为了让Web项目中的Spring 使用Log4j做如下配置:1、在web.xml中添加如下内容:webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"。但最好设置,以免项目之间的名称冲突。定义以后,在Web Container启动时将把ROOT的绝对路径写到系统变量里。然后log4j的配置文件里就转载 2008-12-23 09:45:00 · 3879 阅读 · 0 评论