君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理
上一页 1 ··· 56 57 58 59 60 61 62 63 64 ··· 107 下一页

2012年9月30日 #

摘要: 下面我们来看看Spring的AOP的一些相关代码是怎么得到Proxy的,让我们我们先看看AOP和Spring AOP的一些基本概念:Advice: 通知,制定在连接点做什么,在Sping中,他主要描述Spring围绕方法调用注入的额外的行为,Spring提供的通知类型有: before advice,AfterReturningAdvice,ThrowAdvice,MethodBeforeAdvice,这些都是Spring AOP定义的接口类,具体的动作实现需要用户程序来完成。Pointcut: 切点,其决定一个advice应该应用于哪个连接点,也就是需要插入额外处理的地方的集合,例如,被某个 阅读全文
posted @ 2012-09-30 12:17 刺猬的温驯 阅读(509) 评论(0) 推荐(0)

摘要: 我们看看Spring中的事务处理的代码,使用Spring管理事务有声明式和编程式两种方式,声明式事务处理通过AOP的实现把事物管理代码作为方面封装来横向插入到业务代码中,使得事务管理代码和业务代码解藕。在这种方式我们结合IoC容器和Spirng已有的FactoryBean来对事务管理进行属性配置,比如传播行为,隔离级别等。其中最简单的方式就是通过配置TransactionProxyFactoryBean来实现声明式事物;在整个源代码分析中,我们可以大致可以看到Spring实现声明式事物管理有这么几个部分: * 对在上下文中配置的属性的处理,这里涉及的类是TransactionAttribute 阅读全文
posted @ 2012-09-30 12:16 刺猬的温驯 阅读(367) 评论(0) 推荐(0)

摘要: 前面我们分析了Spring AOP实现中得到Proxy对象的过程,下面我们看看在Spring AOP中拦截器链是怎样被调用的,也就是Proxy模式是怎样起作用的,或者说Spring是怎样为我们提供AOP功能的;在JdkDynamicAopProxy中生成Proxy对象的时候:Java代码returnProxy.newProxyInstance(classLoader,proxiedInterfaces,this);这里的this参数对应的是InvocationHandler对象,这里我们的JdkDynamicAopProxy实现了这个接口,也就是说当Proxy对象的函数被调用的时候,这个Inv 阅读全文
posted @ 2012-09-30 12:12 刺猬的温驯 阅读(385) 评论(0) 推荐(0)

摘要: O/R工具出现之后,简化了许多复杂的信息持久化的开发。Spring应用开发者可以通过Spring提供的O/R方案更方便的使用各种持久化工具,比如Hibernate;下面我们就Spring+Hibernate中的Spring实现做一个简单的剖析。Spring对Hinberanate的配置是通过LocalSessionFactoryBean来完成的,这是一个工厂Bean的实现,在基类AbstractSessionFactoryBean中:Java代码/***这是FactoryBean需要实现的接口方法,直接取得当前的sessionFactory的值*/publicObjectgetObject() 阅读全文
posted @ 2012-09-30 12:08 刺猬的温驯 阅读(364) 评论(0) 推荐(0)

摘要: 我们从FilterSecurityInterceptor我们从入手看看怎样进行授权的:Java代码//这里是拦截器拦截HTTP请求的入口publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,ServletException{FilterInvocationfi=newFilterInvocation(request,response,chain);invoke(fi);}//这是具体的拦截调用publicvoidinvoke(FilterInvoca 阅读全文
posted @ 2012-09-30 12:06 刺猬的温驯 阅读(423) 评论(0) 推荐(0)

摘要: 简单分析一下Spring Acegi的源代码实现:Servlet.Filter的实现AuthenticationProcessingFilter启动Web页面的验证过程 - 在AbstractProcessingFilter定义了整个验证过程的模板:Java代码publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,ServletException{//这里检验是不是符合ServletRequest/SevletResponse的要求if(!(requ 阅读全文
posted @ 2012-09-30 12:03 刺猬的温驯 阅读(319) 评论(0) 推荐(0)

摘要: 转载http://blog.csdn.net/scorpio3k/article/details/7628894定义数据访问接口:[java]view plaincopypackageorg.kevin.cache.dao;importjava.util.Collection;importorg.kevin.cache.domain.Data;publicinterfaceDataDAO{publicvoidadd(Datadata);publicvoidupdate(Datadata);publicDatafind(Integerid);publicvoiddelete(Integerid) 阅读全文
posted @ 2012-09-30 01:34 刺猬的温驯 阅读(576) 评论(0) 推荐(0)

摘要: 该版本最酷的新特性就是引入全方位的缓存支持。Spring 3.1 提供了对已有的 Spring 应用增加缓存的支持,这个特性对应用本身来说是透明的,通过缓存抽象层,使得对已有代码的影响降低到最小。该缓存机制针对于 Java 的方法,通过给定的一些参数来检查方法是否已经执行,Spring 将对执行结果进行缓存,而无需再次执行方法。可通过下列配置来启用缓存的支持(注意使用新的schema):[html]view plaincopy<beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi=" 阅读全文
posted @ 2012-09-30 01:16 刺猬的温驯 阅读(284) 评论(0) 推荐(0)

摘要: 转载http://blog.csdn.net/mingshuo0615/article/details/6085248作为一名Java开发人员你一定想知道如何在Spring应用中使用新的Ehcache注解功能;是吧?ehcache-spring-annotatios是获得Apache认证的一个开源项目;它大大简化了在Spring应用中基于业界使用广泛的Ehacche-2.0版本实现缓存的技术,1.1.2版本的ehcache-spring-annotations刚刚发布不久,在本文中,我将会介绍如何在一个web工程时使用ehcache-spring-annotations实现缓存机制。创建一个W 阅读全文
posted @ 2012-09-30 01:09 刺猬的温驯 阅读(424) 评论(0) 推荐(0)

摘要: 转载http://blog.163.com/among_1985/blog/static/2750052320126178159568/概述我们都知道Hibernate可以支持多种数据库,这种支持是通过对于不同数据库,配置对应数据库的方言完成的。在早期的Hibernate中,需要通过配置hibernate.dialect参数,指定当前使用的数据库方言。对于需要同时支持多种数据库的产品来说,每切换一个数据库,就要重新配置以下dialect参数会显得很麻烦。于是,DialectResolver工厂类就诞生了。简单的说,DialectResolver以及其子类的作用,是根据数据库的MetaData, 阅读全文
posted @ 2012-09-30 00:56 刺猬的温驯 阅读(713) 评论(0) 推荐(1)

上一页 1 ··· 56 57 58 59 60 61 62 63 64 ··· 107 下一页