![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
wangyun19850918
这个作者很懒,什么都没留下…
展开
-
Bean 装配
Spring 容器内拼凑Bean 叫做装配。Bean 装配要点介绍:1)Spring 中的Bean 在默认状态中是单实例模式。当然你可以通过 节点的singleton 属性可以进行设置。为true 是单实例模式,false 是原型模式。缺省值为true。2)spring 的依赖注入可以通过构造方法和对象的set 方法。这里需要注意的是spring 首先通过构造方法注入对象的属性...2008-06-19 10:00:05 · 99 阅读 · 0 评论 -
Spring 动态切入点
由于动态切入点效率十分低下,并且一般并不会使用动态切入点。因此Spring 只提供了一个动态切入点:ControlFlowPointcut 类,它指定了执行aop 的类,即只有该类调用aop 方法时,方法才会动态的织入通知,其他类调用aop 方法和普通的方法调用一样。例子如下: 1)通知代码public class Before implements MethodBefore...2008-07-20 23:36:59 · 280 阅读 · 0 评论 -
Spring 的静态切入点
Spring 的静态切入点因为只在代理创建的时候执行一次而不是在运行期间每次目标方法的调用而执行,所以静态切入点的性能较好。是首选的切入点方式。Spring 为开发者方便的创建自定义的静态切入点提供了方便的父类——StaticMethodMatcherPointcut,我们只需实现父类的isMatch 方法便可。当然Spring 也提供了现有静态切入点。 NameMatch...原创 2008-07-14 10:05:28 · 196 阅读 · 0 评论 -
Spring AOP
简单的来讲,我个人理解Spring Aop 的实现,是通过Java 编写来实现通知,Spring 的配置文件来织入通知。这便是Spring 的Aop。 Spring 对Aop 的实现有两种方式:1)目标对象实现某个接口,那么可以通过java.lang.reflect.Proxy 类来实现。2)目标对象没有实现任何的接口,那么只能通过使用cjlib 类来实现子类的生成。注意:...2008-07-08 09:38:42 · 73 阅读 · 0 评论 -
Spring 异常通知
Spring 的异常通知是在方法抛出异常之后将通知织入。需要注意的是异常通知只是当方法抛出异常时对抛出异常的情况进行操作,它不会捕获原方法抛出的异常,但是你可以通过异常通知抛出新的异常,我觉得这并不是一个好的主意。 Spring 提供了ThrowAdvice 接口来实现异常通知。ThrowAdvice 接口只是一个标示接口,它没有任何的方法,但是在使用时我们需要实现afte...2008-07-07 09:59:25 · 378 阅读 · 0 评论 -
Spring 环绕通知
Spring 的环绕通知和前置通知,后置通知有着很大的区别,主要有两个重要的区别:1) 目标方法的调用由环绕通知决定,即你可以决定是否调用目标方法,而前置和后置通知是不能决定的,他们只是在方法的调用前后执行通知而已,即目标方法肯定是要执行的。2)环绕通知可以控制返回对象,即你可以返回一个与目标对象完全不同的返回值,虽然这很危险,但是你却可以办到。而后置方法是无法办到的,因为他是在目标方...2008-07-04 09:57:40 · 155 阅读 · 0 评论 -
Spring 后置通知
Spring 的后置通知虽然如其名字那样,通知在方法调用之后织入。但准确的说,通知是在方法返回值之后和方法返回到调用地点之前被织入。我们可以通过Spring 自带的AfterReturningAdvice 接口轻松的实现方法的织入。AfterReturningAdvice 接口提供了afterReturning 方法来实现通知,即在afterReturning 方法中定义通知。afte...2008-07-03 10:39:13 · 239 阅读 · 0 评论 -
Spring 前置通知
前置通知顾名思意,该通知织入在方法调用之前。我们可以通过Spring 的MethodBeforeAdvice 接口实现。MethodBeforeAdvice 只提供方法before(),该方法无返回值,方法接受调用方法,方法参数和目标对象这3个参数。这里需要注意的是,虽然before()方法得到了调用方法的参数,这里值得注意的是方法参数可以进行更改! 例子如下: 1...2008-07-02 14:19:08 · 261 阅读 · 0 评论 -
Bean的生命周期
在使用Spring 的Bean 之前,先要了解Bean 在Spring容器中的生命周期。Spring有两种容器,一种是Bean 工厂,另一种是上下文。Bean 在这两种容器中有着微小的区别,具体如下:Bean 生命周期: 1.实例化: 容器首先寻找Bean 的定义信息并根据信息实例化Bean(容器使用依赖注入配置Bean 的属性)。2.调用Bean 的setBeanName()方法...2008-06-12 13:30:24 · 100 阅读 · 0 评论 -
Spring学习之旅之一 —— 容器
容器是Srping 框架的核心,由此我们学习Spring 时首先先要了解Spring 容器。 Spring 容器要点介绍: 1)Spring 容器使用Ioc 管理所有组成应用系统的组建。(Ioc 可以简单的理解为JNDI 的反转)。 2)Spring 有两种容器:Bean工厂和应用上下文。虽然Spring 只有两种容器,但Spring 有几种Bean工厂和应用上下文的实现,...2008-06-04 16:57:29 · 61 阅读 · 0 评论 -
Spring 的国际化
Spring 通过ApplicationContext 容器的MessageSource 接口实现Sping 对国际化的支持。 Spring 已经已经提供提供了一个现成的MessageSource 的实现类ResourceBundleMessageSource。因此只需要在Spring 的配置文件中进行简单的配置即可,如下:<bean id="messageSour...2008-06-26 11:31:21 · 133 阅读 · 0 评论 -
CustomEditorConfigurer
Spring 在装配Bean 时可以使用字符串装配其他数据类型,如URL。也就是说Spring 会自动的将String 类型转换成URL类型进行Bean 的属性装配。这是通过JavaBean API 实现的(java.beans.PropertyEditor 接口)。 那么如何通过Spring 配置将String 类型转换成自定义的类型呢? 这首先需要写一个编辑器类,该...2008-06-25 13:30:18 · 202 阅读 · 0 评论 -
PropertyPlaceholderConfigurer
BeanFactoryPostProcessor 接口是对Bean 工厂的后处理操作。在Spring 的PropertyPlaceholderConfigurer 类是实现BeanFactoryProcessor 接口中非常有用的类。它用于Spring 从外部属性文件中载入属性,并使用这些属性值替换Spring 配置文件中的占位符变量(${varible})。Spring ...2008-06-23 10:11:32 · 110 阅读 · 0 评论 -
Spring 自定义切入点
Spring Aop 强大之处你可以自己定义切入点并且对切入点进行合并使其成为新的切入点。这给我们很大的自由空间,任我们在其中翱翔。。。闲话少说。这里我就简单的介绍下如何自定义切入点。 Spring 自定义切入点只需要继承Pointcut 接口。它提供了两个方法:ClassFilter getClassFilter()和MethodMatcher getMethodMatc...2008-07-22 21:44:49 · 301 阅读 · 0 评论