zoukankan      html  css  js  c++  java
  • spring

    Spring的概述

    Spring 是完全面向接口的设计,降低程序耦合性,主要是事务控制并创建bean实例对象。在ssh整合时,充当黏合剂的作用。IOC(Inversion of Control) 控制反转/依赖注入,又称DI(Dependency Injection) (依赖注入)

    IOC的作用:产生对象实例,所以它是基于工厂设计模式的

    Spring IOC的注入
       通过属性进行注入,通过构造函数进行注入,
       注入对象数组 注入List集合
       注入Map集合 注入Properties类型

    Spring IOC 自动绑定模式:
    可以设置autowire按 以下方式进行绑定
    按byType只要类型一致会自动寻找,
    按byName自动按属性名称进行自动查找匹配.

    AOP 面向方面(切面)编程
    AOP是OOP的延续,是Aspect Oriented Programming的缩写,
        意思是面向方面(切面)编程。
       注:OOP(Object-Oriented Programming ) 面向对象编程

    AOP 主要应用于日志记录,性能统计,安全控制,事务处理(项目中使用的)等方面。

    Spring中实现AOP技术:
    在Spring中可以通过代理模式来实现AOP
    代理模式分为
    静态代理:一个接口,分别有一个真实实现和一个代理实现。
    动态代理:通过代理类的代理,接口和实现类之间可以不直接发生联系,而 可以在运行期(Runtime)实现动态关联。

    动态代理有两种实现方式,可以通过jdk的动态代理实现也可以通过cglib
    来实现而AOP默认是通过jdk的动态代理来实现的。jdk的动态代理必须要有
    接口的支持,而cglib不需要,它是基于类的。

    Spring AOP事务的描述:
    在spring-common.xml里通过<aop:config>里面先设定一个表达式,设定对service里那些方法 如:对add* ,delete*,update*等开头的方法进行事务拦截。我们需要配置事务的传播(propagation="REQUIRED")特性,通常把增,删,改以外的操作需要配置成只读事务(read-only="true").只读事务可以提高性能。之后引入tx:advice,在tx:advice引用 transactionManager(事务管理),在事务管理里再引入sessionFactory,sessionFactory注入 dataSource,最后通过<aop:config> 引入txAdvice。

    Spring实现ioc控制反转描述:

    原来需要我们自己进行bean的创建以及注入,而现在交给
    spring容器去完成bean的创建以及注入。

    所谓的“控制反转”就是 对象控制权的转移,
    从程序代码本身转移到了外部容器。

    官方解释:
    控制反转即IoC (Inversion of Control),
    它把传统上由程序代码直接操控的对象的调用权交给容器,
    通过容器来实现对象组件的装配和管理。
    所谓的“控制反转”概念就是对组件对象控制权的转移,
    从程序代码本身转移到了外部容器。

  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode OJ
    LeetCode OJ
    LeetCode OJ
    关于if和else和switch case的用法和程序编码操作过程
    关于java的特点
    关于JAVA的数据类型
    关于java的学习
    力扣482. 密钥字符串 S python--每天一题
  • 原文地址:https://www.cnblogs.com/WQuan/p/6149082.html
Copyright © 2011-2022 走看看