zoukankan      html  css  js  c++  java
  • IOC(DI), AOP 笔记

    几个名词的简称:IOC(Inversion Of Control), DI(Dependency Injection), AOP(Aspect Orient Program), POJO(Persistent Of Java Object), DAO(Data Access Objectd)

    什么是IOC(ID), 有什么好处:1. 把自己new的东西改为由容器提供(初始化具体值,装配);2. 好处是灵活装配

    注解:@Autowired: 自动装配;@Qulifier: 声明唯一使用特定Bean,当自动装配时Bean不唯一时可使用;Component, Respository, Service, Controller: 自动扫描时使用,当有此标签时,会自动装配,这四个注解在2.5上面没有任何区别;Resource: 默认按名称进行装配,若需要按名称进行装配则为@Resource("userDAO"),按类型进行装配,需要在xml文件里进行声明;Scope("prototype"): 单例(singlton), 实例(prototype);@PostContrustruct, @PreDestroy:相当于init和destroy.

    最简单的AOP实现只需涉及3个概念:

    目标(Target) 通知(Advice) 代理(Proxy)
    真正需要被代理的类,一般它会实现至少一个类 当目标的调用方法时需要调用的代码,也叫拦截器 加入了通知的目标,它可以作为目标的替身出现

    BeforeAdvice: 在目标类执行前执行

    AroundAdvice: 在目标类执行中执行

    AfterAdvice: 后执行

    ThrowableAdvice: 异常类执行

    假设我现在要在目标类前加入某个验证,我只需要添加一个BeforeAdvice类,就可以实现,这就是AOP。

    @Aspect: 切面注入类

    @Before: 在某些类/方法之前执行,参数格式为(public void com.garin.UserService.save(User u))

    概念:JoinPoint: 连接点

    PointCut: 切入点的集合即JoinPoint的集合, 语法@PointCut("ececution (* com.garinzhang.*.*(...))")

    Aspect: 切面(类加上去的逻辑,切面类):

    Advice: 加在切面类上

    Target: 被代理对象,把业务逻辑到哪些方法上。

    路慢慢其休远羲,吾将上下而求所
  • 相关阅读:
    Burp Suite Professional单文件精简版该如何使用?
    快速掌握WinDBG
    Baymax大白补丁打油诗
    学员达标后完成的作业
    5星命名法:掌握这个软件全省
    挖掘IDA不可缺少的插件
    JEB安装和使用视频教程系列
    Ollydbg/x32dbg/x64dbg堆栈回溯要点总结
    Ollydbg狩猎从入门到精通
    Ollydbg/x32dbg爆破与逆向八法
  • 原文地址:https://www.cnblogs.com/garinzhang/p/2944062.html
Copyright © 2011-2022 走看看