`
隐形的翅膀
  • 浏览: 497385 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DefaultAdvisorAutoProxyCreator

阅读更多
DefaultAdvisorAutoProxyCreator这个类功能更为强大,这个类的奇妙之处是他实现了BeanProcessor接口,当ApplicationContext读如所有的Bean配置信息后,这个类将扫描上下文,寻找所有的Advistor(一个Advisor是一个切入点和一个通知的组成),将这些Advisor应用到所有符合切入点的Bean中

需要注意的是,和BeanNameAutoProxyCreator相同,我们需要用ApplicationContext获得Bean
package AutoProxyTwo;

import java.lang.reflect.Method;

import org.springframework.aop.MethodBeforeAdvice;
//前置通知
public class WelcomeAdvice implements MethodBeforeAdvice ...{

    public void before(Method method, Object[] args, Object obj)
            throws Throwable ...{
        
        System.out.println("Hello welcome to bye ");

    }

}


配置文件
<bean id="WelcomeAdvice" class="AutoProxyTwo.WelcomeAdvice">
 </bean>
 
 <!-- 自动代理所有的advisor -->
<bean id="autoProxyCreator" class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">
</bean>
   
 <bean id="advisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
     <property name="pattern">
       <value>.*sell.+</value>  <!-- 业务实现方法名匹配 -->
     </property>
     <property name="advice">
       <ref bean="WelcomeAdvice"/>
     </property>
</bean>

分享到:
评论

相关推荐

    使用DefaultAdvisorAutoProxyCreator实现spring的自动代理

    `DefaultAdvisorAutoProxyCreator`是Spring AOP中用于实现自动代理创建的核心类,它根据配置的顾问来决定哪些bean需要被代理以及如何代理。下面我们将深入探讨`DefaultAdvisorAutoProxyCreator`的工作原理及其在实际...

    Spring AOP 自动代理源码 DefaultAdvisorAutoProxyCreator

    Spring AOP源码05:DefaultAdvisorAutoProxyCreator Spring期末考压轴题:当Spring AOP遇上循环依赖 git注释源码地址:https://github.com/chaitou/spring-framework-master.git 前言 前面已经学习了ProxyF

    spring代理详解.txt

    `DefaultAdvisorAutoProxyCreator`是Spring中最常用的自动代理创建者,它会自动将所有符合条件的advisor应用到所有的bean上。与`BeanNameAutoProxyCreator`不同,它不依赖于bean名称,而是依赖于advisor的pointcut...

    spring 的自动代理

    `DefaultAdvisorAutoProxyCreator` 是 Spring 自动代理实现的核心类,它负责根据Advisor创建代理对象。 在提供的配置中,我们看到以下几个关键组件: 1. **Bean `person`** - 这是一个名为 `PersonCon` 的类的实例...

    spring AOP配置的几种方式

    使用`ProxyFactoryBean`可以针对单个对象进行精确控制,而`DefaultAdvisorAutoProxyCreator`则更适合于自动化的场景,特别是当项目中有大量需要进行AOP增强的对象时。开发者可以根据实际情况选择最适合自己的配置...

    spring 事务(6中配置完全降解)

    `DefaultAdvisorAutoProxyCreator`是Spring AOP中用于自动创建代理的组件,它会寻找所有`Advisor`(包括事务增强`Advisor`),并将它们应用到相关的bean上。这样,我们可以通过定义`Pointcut`来决定哪些方法需要...

    cglib完美支持java17及以上

    在实际应用中,CGlib通常与Proxy接口一起使用,例如在Spring AOP中,通过`org.springframework.aop.framework.ProxyFactoryBean`或者`org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator`...

    shiro入门学习demo源码

    &lt;bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor"&gt; &lt;property name="proxyTargetClass" value="true" /&gt; &lt;/bean&gt; ...

    自定义spring控制反转(依赖注入)

    在Spring框架中,控制反转(IoC,Inversion of Control)和依赖注入(DI,Dependency Injection)是核心设计理念,它们极大地简化了Java应用的开发和维护。本文将深入探讨如何自定义Spring实现读取`...

    spring 事务代理配置

    3. **使用DefaultAdvisorAutoProxyCreator**:与`BeanNameAutoProxyCreator`类似,但其配置的可读性可能稍逊一筹。 #### 总结 在Spring框架中,声明式事务管理是一种强大而灵活的事务处理方式,尤其是通过`...

    cglib-2.2.jar下载

    Spring AOP中的`DefaultAdvisorAutoProxyCreator`就是使用Cglib来创建代理对象的。 6. **版本兼容性**:`cglib-2.2.jar`是Cglib的一个较旧版本,发布于2009年。随着时间的发展,Cglib已经更新到了3.x版本,新版本...

    企业级信息系统开发教学PPT(3.1)

    Spring还提供了声明式事务管理,如TransactionProxyFactoryBean、BeanNameAutoProxyCreator(常用)和DefaultAdvisorAutoProxyCreator等不同方式,方便事务控制。 4. **整合应用**:Struts 2、Hibernate 和 Spring ...

    shiro 注解不起作用

    你需要配置`AnnotationMethodHandlerAdapter`和`DefaultAdvisorAutoProxyCreator`,这样Spring AOP才能代理带有Shiro注解的方法。 2. **AOP代理问题**:如果你使用的是Spring,Shiro注解需要通过AOP代理来实现。...

    Spring源码

    在源码中,`DefaultAdvisorAutoProxyCreator`类是AOP代理的创建者,`MethodBeforeAdvice`、`AfterReturningAdvice`等接口定义了不同类型的前置、后置通知。 在Spring中,还有一套完善的事件发布和监听机制,通过`...

    shiro注解版

    class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor" /&gt; class="org.apache.shiro.spring.security.interceptor....

    jdk与cglib动态代理与底层实现

    Spring的`DefaultAdvisorAutoProxyCreator`会根据配置的Advisor自动创建代理,而`Advised`接口提供了对代理设置和获取各种配置信息的能力,如拦截器链。 4. **底层实现原理**: - **JDK代理**:JDK动态代理使用...

    JavaEE spring自动实现AOP代理

    - Spring通过`DefaultAdvisorAutoProxyCreator`组件自动创建代理。当它检测到容器中有Advisor或Aspect对象时,会为匹配的bean创建代理。 - `@EnableAspectJAutoProxy`注解可以启用基于AspectJ的自动代理,使Spring...

    模拟spring aop【一】基于jdk动态代理实现的aop

    - Spring AOP提供了`DefaultAdvisorAutoProxyCreator`,它可以自动为匹配的Bean创建JDK代理。 - 切面(Aspect)是Spring AOP的核心,它封装了通知(Advice),通知定义了切面的逻辑。例如,我们可以创建一个`...

    spring源码分析

    Spring AOP通过代理模式实现,源码中主要涉及`Advisor`、`Pointcut`、`Aspect`等接口和`ProxyFactoryBean`、`DefaultAdvisorAutoProxyCreator`等类。 4. **Spring MVC** - Spring MVC是Spring提供的Web层解决方案...

    spring-context源码

    在bean初始化完成后,如果bean定义中指定了`@Scope`、`@Aspect`等AOP相关注解,`ApplicationContext`会通过`DefaultAdvisorAutoProxyCreator`创建代理对象,使得切面逻辑可以在目标方法调用前后执行。 五、事件发布...

Global site tag (gtag.js) - Google Analytics