Spring简介及IOC易懂介绍

发布于:2023-01-19 ⋅ 阅读:(541) ⋅ 点赞:(0)
  • 目录

    Spring是什么

    Spring体系结构

    Spring优势

    耦合与内聚

    工厂模式发展史

    IOC


  • Spring是什么

  • Spring是分层的JavaSE/EE应用 full-stack(一站式)轻量级开源框架
  • 分层架构允许使用者选择使用哪一个组件
  • Spring的用途不仅限于服务器端的开发,任何Java应用都可以从Spring中受益
  • Spring体系结构

  • 底层是核心容器
  • Spring的核心容器是其他模块建立的基础
  • 由Spring-core
  • Spring-beans
  • Spring-context
  • Spring-context-support和Spring-expression(Spring表达式语言)等模块组成
  • 中间层技术
  • AOP
  • Aspects
  • 应用层技术
  • 数据访问与数据集成
  • Web集成
  • Web实现
  • 基于Test测试
  • Spring优势

  • 方便解耦,简化开发
  • 方便集成各种优先框架
  • 方便程序的测试
  • AOP编程的支持
  • 声明式事务的支持
  • 降低JavaEE API的使用难度
  • Java源码是经典学习范例
  • 耦合与内聚

  • 耦合(Coupling):
  • 代码书写过程中所使用技术的结合紧密度
  • 用于衡量软件中各个模块之间的互联程度
  • 耦合度越高互联度越高
  • 内聚(Cohesion):
  • 代码书写过程中单个模块内部各组成部分间的联系
  • 用于衡量软件中各个功能模块内部的功能联系
  • 程序书写的目标:高内聚,低耦合
  • 就是同一个模块内的各个元素之间要高度紧密
  • 但是各个模块之间的相互依存度却不要那么紧密
  • 工厂模式发展史

  • 第一阶段:
  • 应用程序(UserServiceImpl)
  • 通过new调用
  • 资源(UserDaoImpl)
  • 应用与资源紧耦合
  • 变更实现必须修改调用方源代码
  • 第二阶段:
  • 多了个工厂(UserDaoFactory)
  • 工厂与资源紧耦合
  • 应用与资源断开耦合
  • 变更实现无须修改调用方源代码,但是需要修改工厂代码
  • 第三阶段:
  • 多了个配置(resource.xml)
  • 工厂通过读取配置文件,读取类名,利用反射创建对象
  • 资源与工厂也断开耦合
  • 资源与配置文件紧耦合
  • 变更实现无须修改调用方代码,也无需修改工厂代码,仅需要修改配置文件
  • 这样维护成本很小
  • 使用工厂+配置的形式,这就是Spring雏形
  • IOC

  • 不理解看前面的耦合与内聚,工厂模式发展史,那些是铺垫
  • IOC(Inversion Of Control)控制反转
  • Spring反向控制应用程序所需要使用的外部资源
  • 对象A获得依赖对象B的过程,由主动行为变为了被动行为
  • 控制权颠倒过来了,这就是“控制反转”这个名称的由来
  • Spring控制的资源全部放置在Spring容器中,该容器称为IOC容器
  • 传统模式下,资源的主控权在类手中
  • IOC模式下,主控权则在Spring手中
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到