• [Spring学习笔记 5 ] Spring AOP 详解1


    知识点回顾:
    一、IOC容器---DI依赖注入:setter注入(属性注入)/构造子注入/字段注入(注解 )/接口注入 out

    Spring IOC容器的使用:
    A、完全使用XML文件来配置容器所要管理的业务组件及相互依赖关系 。<bean><property></bean>
    B、使用xml来配置Bean,用注解(@Autowired @Resource)来配置依赖。<context:annotation-config/>
    C、完全使用注解 <context:component-scan base-package="com.lspring.annotation2,com.lspring.annotation3"></context:component-scan>
    @Service,@Controller,@Component,@Repository,有些标签,则会把其放到容器中,@Autowired @Resource表示依赖关系
    Spring 容器其特性:
    A:value属性处理。注册自定义的类型。
    B:容器扩展,容器的扩展点.beanfactorypostprocessor,属性文件加载。${db.ur}
    C:factoryBean,工厂Bean,专用来生产各种产品的Bean.getObject().
    D:使用c,p命名空间简化配置。1


    二、AOP功能,面向切面的编程,应用场景:
    在java实现AOP原理:代理模式的应用。
    对接口进行代理用JDK动态代理,Proxy.newProxyInstance(),对类的代理用第三方框架。
    Hibernate中的代理:
    Person p = session.load(Person.class,1);
    p.getClass();//javaasist


    新知识点:

    一、Spring中的AOP详解(1):
    1.概念方面介绍:
    Aspect(切面):是通知和切入点的结合,通知和切入点共同定义了关于切面的全部内容---它的功能、在何时何地完成其功能??
    joinpoint(连接点):是切入切面代码的某一个点,Spring只支持方法连接点,不支持字段或者其他连接点。PersonService.addPerson()方法之前。

    切入点:指一堆连接点的集合
    ,比如所有名字为add*的方法之前。有一种表达式语言,Spring使用AspectJ的的切入点描述语法。有点类似于正则表达式。execution(*com.lspring);
    Advice(通知/建议):指连接点(切入点)的什么位置做什么事情(切面的代码)?

    Target:目标对象,对哪个对象进入切入其它方面的代码。
    weaving(织入):把几个切面的代码切入核心业务组件的过程。静态织入,(aspect)只编译的时候就织入(支持AOP的编译器)。
    动态强化:编译使用普通的java编译器,在运行的时候通过代理来进行织入
    静态织入的效率要比动态强化的效率。
    Introduction(引入):在修改代码的情况下,给一个已经存在的业务组件添加一些方法
    2.基本应用
    (1)首先加入 命名空间
    location
    http://www.springframework.org/schema/aop/spring-aop-3.2.xsd"

  • 相关阅读:
    IDAPython学习(一)
    自动提取文件系统---binwalk(一)
    Scapy Fuzz实现——S7协议从建连到“正常交流“(一)
    工控系统的指纹识别技术
    揭秘VxWorks——直击物联网安全罩门
    VxWorks Fuzzing 之道:VxWorks 工控实时操作系统漏洞挖掘调试与利用揭秘
    路由器文件系统与提取
    python 调试技巧
    拿下id_rsa
    elasticsearch 7.1 401 Unauthorized
  • 原文地址:https://www.cnblogs.com/amosli/p/3442560.html
Copyright © 2020-2023  润新知