Spring的两大特征和事务管理

作者: chcvn | 来源:发表于2017-11-26 00:28 被阅读34次
    @作者博客

    Spring 两大特性

    IOC控制反转

    • IOC是什么?
      • IOC是一种思想,是一个重要的面向对象编程的体现之一

      • 传统的应用程序是由我们在类的内部主动创建依赖对象,从而导致类与类之间高耦合,测试也繁琐. 相对于IOC而言,它是把创建和查找依赖对象的控制器交给了容器,有容器进行注入组合对象,所以对象与对象之间是,低耦合的,便于测试,而且也使得整个体系架构变得更灵活

      • IOC的面向对象思想就好像 ,百度百科上对这点描述是“不要给我们打电话,我们会给你打电话(don‘t call us, we‘ll call you)”这是著名的好莱坞原则;
        其实说简单一点,就是对象找依赖并注入,而不是对象自己主动去找

    • IOC依赖注入
      • 在控制反转中获取资源的过程叫做依赖注入
        • 构造器注入:
                这种方式的注入是指带有参数的构造函数注入
                在XML文件中 配置注入对象
        
        • setter注入
            * 要写被注入对象的Set方法
            * 在XML中配置 ,要注入的具体对象(是由Spring管理的对象) 
            * 在Spring的xml配置文件中,配置相关的Bean(也叫托管),由Spring来管理对象
            * 也是在配置好 Bean 以后,由Spring自动注入
        

    AOP面向切面编程

    (可以说是,补全了OOP(面向对象编程)的不足的地方)

    • 举个例子,日志功能,它往往是遍布在所有对象层中,而它又在核心功能中毫无关系,这种被散布在各处无关的代码 被称为横切,在oop设计中,它导致了大量代码的重复;

    • AOP技术却相反,它利用一种 叫 "横切"的技术,解剖开封装的对象内部,并将影响了多个类的公共行为封装到一个版块,这个版块叫 "Aspect(啊死拜)",又称切面.

    • 切面,简单的说,就是那些与业务无关的,却又不可少的那一部分,封装起来,减少系统的重复代码,减低各个版块直接的耦合度,有利于维护和可操作性

    • AOP把软件系统分为两个部分:核心关注点和横切关注点

      • 业务处理的主要流程是核心关注点
      • 与之关系不大的部分是横切关注点

    AOP核心概念

    • 横切关注点
    • 切面(aspect)
    • 连接点(joinpoint)
    • 切入点(pointcut)
    • 通知(advice)
    • 目标对象
    • 织入(weave)
    • 引入(introduction)

    声明式事务管理

    • 声明式事务管理建立在AOP之上的
      • 其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务

      • 声明式事务最大的优点就是不需要在代码中写管理事务的代码
        只需在配置文件中声明和配置事物管理即可(或通过基于@Transactional注解的方式)

    思维图如下:

    @作者博客
    Srping 两大特性以及事物管理Srping 两大特性以及事物管理

    相关文章

      网友评论

        本文标题:Spring的两大特征和事务管理

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