Ioc


  1.AOP的实现:1.1配置文件的形式实现的。

    实现核心业务和辅助功能的交织:

  目的是为了将核心业务与辅助业务分开

  步骤: 1.定义好辅助功能的切面类,以及核心功能业务类。

          2.通过ApplicationContext.xml配置切面与业务方法的交织

  (spring支持方法的切入)

  3. 配置切入点

                    需要一个代理对象实现辅助功能的调用,

AOP是通过动态代理的形式实现切面的  

   

   

         

        配置具体的通知,辅助功能的方法

 

 

                             

                             

   


1.2注解的形式实现AOP:

          1.定义好辅助功能的切面类,以及核心功能业务类。 

          2.开启注解,并使用aspectj的动态代理的形式实现  

       

       

3.对应的切面类写明注解:


  @Aspect

@Component

public class WatchAOP {

    @Pointcut("execution(* service.StudentService.display(..))")

    public  void  myProject(){}

  @Before("myProject()")

    public  void  before(){

        System.out.println("核心业务方法调用之前");

        //日志功能,性能统计。。。。

    };

  @After("myProject()")

    public  void  after(){

        System.out.println("核心业务方法调用之后");

    };

  @AfterThrowing("myProject()")

    public  void  exception(){

        System.out.println("核心业务方法出现异常");

    };

  @AfterReturning(value = "myProject()",returning = "o")

  public  void  returnning(JoinPoint point,Object o){

        System.out.println("方法已经执行完成,核心方法的类名是:"+point.getTarget().getClass().getName()+"核心业务的方法是"+point.getSignature().getName()+"方法的返回值是:"+o);

    };

    };

你可能感兴趣的:(Ioc)