美文网首页
aop控制事件触发

aop控制事件触发

作者: bug小王子 | 来源:发表于2017-04-17 20:19 被阅读0次
JavaEE.jpg

好久没有更新,今天来讲一下在公司看到的技术
如何利用springAOP思想,在执行某个方法之后执行其他的操作

什么是spring aop思想

首先说一下,我在这里是不会深入讲解spring aop的设计思想的,就几句话带过了
如果想了解spring AOP的思想,请移步到<a href="http://blog.csdn.net/luanlouis/article/details/51095702">springAOP 设计模式</a>

springAOP核心是动态代理,原理网上有,我太懒了不想回头看了,就说一下我知道的给大家听一下,如果有错误,欢迎大家指正


1.SpringAOP抽取公共代码块

SpringAOP的设计思想其实跟 最初学习编程的时候,刚开始学习 ‘工具类’,‘接口’时接触到的想法类似,
工具类 --> 共用的,高效的(一处编码,多处受益)
接口 --> 模板,规范(规定要做什么)

工具类-->我们将一些重复使用的,多处地方调用的代码块抽取出来,放到一个方法里面
当我们用到这些代码的时候,就调用该方法,不必重复造轮子

2.springAOP---切西瓜
比如说,一本书,书里面有书页,有书签对吧。
那如果我这样子比喻,Java-->📚,书页-->方法,springAOP-->书签
    看出什么了?
    1.每页上面是不是都可以插入书签
    2.书签是不是可以在每页插入多个
    3.一页是不是可以被两个书签插入

学springAOP 就要会切入点,切入时机,切入后的处理---->自行百度

@SpringAOP 自动执行指定方法简例 --> 账户注册之后自动输出 helloWorld

像我这么懒的人,还在加班,所以例子也是公司的演变过来了

//controller 入口
@RestController
@RequestMapping("/ticket")
public class TicketController {
    @Resource
    private ITicketService ticketService;

    @RequestMapping(method = RequestMethod.POST)
    public Message<Ticket> createTicket(String fromUserId, Ticket ticket, int action) {
        return ticketService.createTicket(fromUserId, ticket, action);
    }
}
@Component
@Aspect
@org.springframework.core.annotation.Order(1)
public class TicketAspect {
    @Resource
    private ITicketService ticketService;

    @Pointcut("execution (* cn.umiit.epb.service.impl.UserService.create(..))")
    public void registryAspect() {
    }

    @AfterReturning(pointcut = "registryAspect()", returning = "message")
    public void afterRegistry(JoinPoint joinPoint, Message<User> message) {
      System.out.println("helloWorld"); 
    }
公司喜欢用标签,不用代码的形式,如果想知道代码怎么实现下面标签的功能可以去百度
@Resource  跟 @@Autowired类似,有区别        交给spring创建bean对象的
@RestController  MVC  思想 ,controller层入口标签
@RequestMapping("/ticket")   url地址  
@org.springframework.core.annotation.Order(1)  创建 bean 顺序
@Aspect   切面
@component (把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)
``

   

相关文章

  • aop控制事件触发

    好久没有更新,今天来讲一下在公司看到的技术如何利用springAOP思想,在执行某个方法之后执行其他的操作 什么是...

  • 2019-11-04 JS 事件冒泡和捕获

    联系: 都是事件触发时序的问题绑定事件方法(addEventListener)的第三个参数是控制事件触发顺序的;默...

  • iOS事件层次分析

    1.事件种类 触摸事件:通过触摸、手势进行触发运动事件(加速事件):通过手机加速计触发(如晃动手机)远程控制事件:...

  • 史上最简单的防抖节流代码实现

    首先:防抖是控制次数,指触发事件后,在 n 秒内函数只能执行一次,如果触发事件后在 n 秒内又触发了事件,则会重新...

  • 初级_触摸事件

    iOS事件### 1.触摸事件:通过手势触发2.运动事件:通过手机摇晃,加速器进行触发3.远程控制事件:通过其他远...

  • dom事件机制

    事件触发三阶段window 往事件触发处传播,遇到注册的捕获事件会触发传播到事件触发处时触发注册的事件从事件触发处...

  • v-for中mousemove事件,控制v-show,为什么触发

    v-for中mousemove事件,控制v-show,为什么触发refs的获取

  • 事件

    事件触发方法:onclick="单击触发事件";ondblclick="双击触发事件";onmousedown="...

  • 测试概念之基于业务场景的测试

    基于业务场景的测试 场景测试法 现在的软件几乎都是由事件(消息通信)触发来控制流程的 事件触发时的情景便形成了场景...

  • 事件

    事件触发的三个阶段: window 往事件触发处传播,遇到注册的捕获事件会触发 传播到事件触发处时触发注册的事件 ...

网友评论

      本文标题:aop控制事件触发

      本文链接:https://www.haomeiwen.com/subject/olxxzttx.html