美文网首页
Spring复习[未完待续]

Spring复习[未完待续]

作者: 落云和枫 | 来源:发表于2019-07-14 19:38 被阅读0次

    Spring框架宗旨:不重新发明技术,让原有的技术使用起来更加方便
    Spring三大核心功能
    1.IoC/DI 控制反转 依赖注入
    Ioc完成的事情原先由程序员主动通过new实例化对象事情,转交给Spring负责
    控制:控制类的对象
    反转:转交给Spring负责
    最大作用解耦:程序员不需要管理对象,解除了对象管理和程序员之间的耦合

    1. AOP 面向切面编程
      在原有纵向执行流程中添加横切面,不需要修改原有代码,具有高扩展性,原有功能相当于释放了部分逻辑,让职责更加明确


      常用概念

      1. 原有功能:切点, pointcut
      2. 前置通知:在切点之前执行的功能.before advice
      3. 后置通知:在切点之后执行的功能,after advice
      4. 如果切点执行过程中出现异常,会触发异常通知,throws adivce
      5. 所有功能总称为叫做切面.
      6. 织入:吧切面嵌入到原有功能的过程叫做织入

      Spring提供了2种 AOP 实现方式
      2.1 Schema-based
      1)每个通知都需要实现接口或类
      2)配置spring配置文件在<aop:config>配置
      2.1.2 具体实现步骤
      1.1)前置通知类配置 导入多需要的jar包或依赖(aopalliance.jar和aspectjweaver.jar)
      1.2)新建前置通知类 并且继承 MethBeforeAdvice

    public class MyBeforeAdvice implements MethodBeforeAdvice{
        @Override
        public void before(Method arg0,Object[] arg1,Object arg2) throws Throwable{
            System.out.println("执行前置通知");
        }
    }
    

    2.1 新建后置通知 实现 AfterReturningAdvice接口
    (arg0:切点对象返回值,arg1:切点方法对象,arg2:切点方法参数,arg3:切点方法所在类对象)


    public class MyAfterAdvice implements AfterReturningAdvice{
        @Override
        public void before(Object arg0, Method arg1,Object[] arg2,Object arg3) throws Throwable{
            System.out.println("执行前置通知");
        }
    }
    

    3.配置spring配置文件
    3.1 引入aop命名空间
    3.2 配置通知类的<bean>
    3.3 配置切面
    3.4 * 通配符,匹配任意方法名,任意类名,任意一级包名
    3.5 如果希望匹配任意方法参数(..)

    2.2 AspectJ
    1)每个通知不需要实现接口或类
    2)配置Spring配置文件是在<aop:config>的子标签<aop:aspect>中配置
    3) 配置异常通知的步骤
    只有当切点报异常才会触发异常通知,如果想使用schema-base,需要按照特定的要求自己编写

    1. 声明式事务

    . Spring依赖注入
    当一个类(A)中需要依赖另外一个类(B)对象时,把B赋值给A的过程就叫依赖注入
    DI有三种方式,分别为:

    1. 接口注入
    2. Setter方法注入
    3. 构造方法注入

    相关文章

      网友评论

          本文标题:Spring复习[未完待续]

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