zoukankan      html  css  js  c++  java
  • 顾问和注解

    一,顾问包装通知

    通知(advice)是Spring中的一种比较简单的切面,只能将切面织入到目标类的所有方法中,而无法对指定方法进行增强

    顾问(advisor)是Spring提供的另外一种切面,可以织入到指定的方法中  接口 PointcutAdvisor

    实现类:NameMatchMethodPointcutAdvisor(基于方法名称的增强顾问),RegexpMethodPointcutAdvice(基于正则表达式的增强顾问)

      以上文件使用的是NameMatchMethodPointcutAdvisor,当然也可替换成为 RegExpMethodPonitcutAdvisor,基于正则表达式通配方法名的顾问,可配置性更加优良。

    二,顾问代理生成器

      顾问代理生成器主要分两种

              自动顾问代理生成器:DefaultAdvisorAutoProxyCreator

              名称顾问代理生成器:BeanNameAutoProxyCreator

     

     

     名称顾问代理生成器也可以替换成自动顾问代理生成器,自动顾问代理生成器默认为Spring中所有的Bean对象创建代理 无需使用ID注入

    三,注解

      IOC:

                   @Component:实现Bean组件的定义

                   @Repository:用于标注DAO类,功能与@Component作用相当

                   @Service:用于标注业务类

                   @Controller:用于标注控制器

       DI:

                   @Resource(name="userService")  默认ByName方式,如果name确实默认按照ByType方式注入

                   @Autowired  默认ByType方式,如果出现同名类,则不能按照Type进行注入  需要使用@Qualifier 指明ID

                               

        AOP:

                  @Aspect 声明切面

                  @Ponitcut 声明公共的切点表达式

                  @Before 前置增强

                  @AfterReturning 后置增强

                  @Around 环绕增强

                  @AfterThrowing 异常抛出增强

                  @After 最终增强

    (1)通过注解实现前置后置增强

        

     

     

       (2) 使用注解实现异常抛出增强

     

     

       (3)使用注解实现环绕增强

     

     

    (4)使用注解实现最终增强

     

     

                   

  • 相关阅读:
    Centos 设置默认路由得优先级
    openstack-NUMA排错记录
    openstack -新建project
    As3 常用日期工具
    As3 计算两个日期之间的天数差
    解决Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题
    网盘+SVN
    SQL 并发-转
    工作目录
    Cookie
  • 原文地址:https://www.cnblogs.com/liuying23/p/11775844.html
Copyright © 2011-2022 走看看