(注解配置AOP)学习Spring的第十七天

 基于注解配置的AOP

(注解配置AOP)学习Spring的第十七天_第1张图片

来看注解式开发 : 

先把目标与通知放到Spring里管理  :


@Service("userService")
public class UserServiceImpl implements UserService {
    @Override
    public void show1() {
        System.out.println("show1......");
    }

    @Override
    public void show2() {
        System.out.println("show2......");
    }
}

 看这个通知 ,加@Aspect开始编辑织入 , @Before()里放的是切入点配置:

@Component
@Aspect
public class MyAdvice {
    //  
    @Before("execution(* com.itheima.service.impl.*.*(..))")
    public void beforeAdvice() {

        System.out.println("前置的增强....");
    }

}

还需xml配置扫描注解的代码 ,如下 : 




    
    

    
    




    

 如此 , 注解配置就完成了

下图是整体配置信息对比

(注解配置AOP)学习Spring的第十七天_第2张图片

二 . 切点表达式的抽取

用@Poincut代替了

execution(* com.itheima.service.impl.*.*(..)) , 是操作更加方便

代码如下 :

 @Pointcut("execution(* com.itheima.service.impl.*.*(..))")
    public void myPoincut(){}




    //  
    @Before("MyAdvice.myPoincut()")
    public void beforeAdvice() {

        System.out.println("前置的增强....");
    }

三 .代替xml配置方式

新建一个SpringConfig配置类来管理扫描注解

代码如下

@Configuration
@ComponentScan("com.itheima")    // 
@EnableAspectJAutoProxy   //
public class SpringConfig {


}

你可能感兴趣的:(学习,spring,java)