美文网首页
Spring(待续)

Spring(待续)

作者: leblanc_i | 来源:发表于2022-07-15 15:58 被阅读0次

    官网链接:https://spring.io/

    一、IoC控制反转

    • IoC控制反转,全称 Inverse of Control,是一种设计理念
    • 由代理人来创建与管理对象,消费者通过代理人来获取对象
    • IoC的目的是降低对象之间的直接耦合

    二、DI依赖注入

    • IoC是设计理念,是现代程序设计遵循的标准,是宏观目标

    • DI(Dependency Injection)是具体技术实现,是微观目标

    • DIJava中利用 反射 技术实现对象注入(Injection

    • 依赖注入是指运行时将容器内对象利用反射赋给其他对象的操作

    • 1.基于 setter 方法注入对象

    • 2.基于构造方法注入对象

    三、Spring

    1、所谓IoC就是将我们对象的控制权由程序本身转嫁给一个第三方,这个第三方通过一个容器统一的对我们系统中的对象进行管理,这就是IoC的理念。如果放在具体的实现上需要怎么做呢?在Java中有一个大名鼎鼎的框架体系,就是SpringSpring的根本目的就像它们官网描述的Spring makes Java simple
    2、IoC容器是Spring生态的地基,用于统一创建与管理对象依赖。(可以说没有IoC就没有Spring生态)

    1、Spring介绍

    (1)含义
    • Spring 可从狭义与广义两个角度看待
    • 狭义的Spring是指Spring框架(Spring Framework
    • 广义的Spring是指Spring生态体系
    (2)狭义的Spring框架
    • Spring框架是企业开发复杂性的一站式解决方案
    • Spring框架的核心是IoC容器AOP面向切面编程
    • Spring IoC负责创建与管理系统对象,并在此基础上扩展功能
    (3)广义的Spring框架
    • Microservices 分布式微服务
    • Reactive 响应式编程
    • Cloud 云端技术
    • Web apps web 应用程序开发(工作中最常用)
    • Serverless 无服务器编程
    • Event Driven 事件驱动
    • Batch 批处理
    (4)Spring IoC容器职责
    • 对象的控制权交由第三方统一管理(IoC控制反转)
    • 利用Java反射技术实现运行时对象创建与关联(DI依赖注入)
    • 基于配置提高应用程序的可维护性与扩展性

    2、初始化IoC容器

    • 基于 XML 配置 Bean
    • 基于注解配置 Bean
    • 基于 Java 代码配置 Bean

    3、Spring AOP

    • Spring AOP - Aspect Oriented Programming 面向切面编程
    • AOP的做法是将通用、与业务无关的功能抽象封装为切面类
    • 切面可配置在目标方法的执行前、后运行,真正做到即插即用(可插拔组件)
    • Spring AOP最终目的就是在不修改源码的情况下对程序行为进行扩展
    注解 说明
    Aspect 切面,具体的可插拔组件功能类,通常一个切面只实现一个通用功能
    Target Class/Method 目标类、目标方法,指真正要执行与业务相关的方法
    PointCut 切入点,使用 execution表达式说明切面要作用在系统的哪些类上
    JoinPoint 连接点,切面运行过程中,是包含了目标类/方法元数据的对象
    Advice 通知,说明具体的切面的执行时机,Spring包含了五中不同类型的通知
    Spring AOP实现原理
    • Spring 基于代理模式实现功能动态扩展,包含两种形式
    • 目标类拥有接口,通过JDK动态代理实现功能扩展
    • 目标类没有接口,通过CGLib组件实现功能扩展

    相关文章

      网友评论

          本文标题:Spring(待续)

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