![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
dsm02955299
这个作者很懒,什么都没留下…
展开
-
Spring笔记(一)集合类型的IoC
一、Set 1、 [code="xml"] 1 2 bean [/code] 二、List 1、 [code="xml"] 1 2 bean ...2009-03-21 13:57:18 · 78 阅读 · 0 评论 -
Spring笔记(十一)Introduction引入
[b]一、在不修改目标对象的源代码的情况下,为目标对象增加方法和属性。[/b] [b]二、实现方法[/b] 1、我们要将新增加的方法声明放在新的接口中。 [code="java"]public interface IOtherBean { public void doOther(); }[/code] 2、编写引入类,实现拦截器IntroductionInterce...2009-03-21 16:37:07 · 219 阅读 · 0 评论 -
Spring笔记(十)Spring简化aop编程
一、spring提供了很多常用的接入点和advisor,两者相对出现。 二、NameMatchMethodPointcutAdvisor-NameMatchMethodPointcut 1、用于匹配方法名,确定切入点。 2、可以自己写一个ClassFilter,注入NameMatchMethodPointcut中。 3、也可以直接将方法名注入到mappedName中。或注入...2009-03-21 16:25:06 · 73 阅读 · 0 评论 -
Spring笔记(八)aop编程
[b]一、Advice:最顶层接口为aop联盟定制[/b] [i] 1、Methods Before Advice[/i] a、实现MethodBeforeAdvice接口。 b、在目标方法执行之前被执行。 c、不能阻止目标方法被调用。 d、不能改变目标方法的返回值。 e、例如在进行权限控制时,一般不使用Methods Before Advic...2009-03-21 16:19:55 · 84 阅读 · 0 评论 -
Spring笔记(九)Spring aop的两种实现
[b]一、目标对象实现代理接口,使用动态代理机制(JDK的proxy)[/b] 1、由于JDK的代理方式要求目标对象实现了接口。 2、相关类java.lang.reflect.Proxy、java.lang.reflect.InvocationHandler。 [b]二、若目标对象未实现代理接口,使用动态代理机制(CGLIB项目)[/b] 1、CGLIB通过生成目标对象的子...2009-03-21 15:13:07 · 91 阅读 · 0 评论 -
Spring笔记(七)代理模式与aop
[b]一、用代理模式可以实现aop[/b] 1、目标对象和代理对象共同实现同一个接口,当用户调用接口时,返回代理类,代理类里先进行交叉业务逻辑,再进行目标对象的业务逻辑。 [img]/upload/attachment/86423/5f8e4a75-5de6-3570-8702-c516c8e37911.gif[/img] 2、使用JDK中的Proxy类,我们可以只需什么一个切面...2009-03-21 15:04:41 · 116 阅读 · 0 评论 -
Spring笔记(六)aop概念
[b]一、概念[/b]: 将程序中的交叉业务逻辑(比如安全、日志、事务)封装成切面,然后注入(织入)到目标对象(具体业务逻辑),生成代理对象。 [b]二、aop实现方式:[/b] 1、静态织入:在编译阶段通过特殊的编译器来实现。(AspectJ) 2、加载织入:在加载阶段通过ClassLoader类实现。(AspectJ) 3、动态代理:在运行阶段通过动态代理机制...2009-03-21 14:50:33 · 132 阅读 · 0 评论 -
Spring笔记(五)Spring事件处理机制
[b]一、自定义事件[/b] 1、继承ApplicationEvent。 [code="java"]import org.springframework.context.ApplicationEvent; public class RegisterEvent extends ApplicationEvent { public RegisterEvent(Object sour...2009-03-21 14:45:51 · 77 阅读 · 0 评论 -
Spring笔记(四)Spring的后处理Bean
[b]一、BeanPostProcessors接口[/b] 1、用于对Bean的功能进行扩展,对Bean进行修改。 2、在Bean初始化操作之前和之后各调用一次。 [b]二、BeanFactoryPostProcessors接口[/b] 1、用于在Bean实例化前,对配置信息进行修改。 [b]三、后处理Bean的使用[/b] 1、先实现接口和方法。 2、在...2009-03-21 14:35:11 · 74 阅读 · 0 评论 -
Spring笔记(四)Spring的后处理Bean
[b]一、BeanPostProcessors接口[/b] 1、用于对Bean的功能进行扩展,对Bean进行修改。 2、在Bean初始化操作之前和之后各调用一次。 [b]二、BeanFactoryPostProcessors接口[/b] 1、用于在Bean实例化前,对配置信息进行修改。 [b]三、后处理Bean的使用[/b] 1、先实现接口和方法。 2、在...2009-03-21 14:34:29 · 94 阅读 · 0 评论 -
Spring笔记(三)Spring容器管理下Bean的生命周期
[b]一、实例化[/b] [b]二、装配(可选)[/b] [b]三、回调(可选)[/b] 1、第一个回调接口BeanNameAware,如果一个Bean继承了该接口,Spring会将配置文件里的id通过setBeanName方法传递过来。 2、第二个回调接口BeanFactoryAware,如果一个Bean继承了该接口,Spring会将BeanFactory通过setBeanFac...2009-03-21 14:24:11 · 86 阅读 · 0 评论 -
Spring笔记(二)自动装配
一、通过名字自动装配 1、[code="xml"][/code] 2、Spring会自动根据属性名去容器中寻找bean。 二、通过类型自动装配 1、[code="xml"][/code] 2、Spring会自动根据类型去容器中寻找bean。 3、但多于一个匹配的,就会抛出异常。 三、匹配构造器自动装配 1、[code="xml"][/code] 2、根...2009-03-21 14:01:56 · 69 阅读 · 0 评论 -
Spring笔记(十二)自动代理AspectJ切面
[b]一、声明式通知[/b] [i] 1、@Before[/i] [i] 2、@AfterReturning[/i] a、要获得目标方法的返回值,必须使用returning属性,在@AfterReturning的参数上设置(参数名的绑定),表示向下面方法的哪个参数传入目标方法的返回值。(声明式通知) b、例如: [code="java"] @AfterReturn...2009-03-21 20:54:06 · 82 阅读 · 0 评论