概述

Spring是轻量级的开源框架,以IOC和AOP为内核,提供SpringMVC和SpringJDBC以及业务层事务管理等企业级应用技术,还可以整合其他的第三方框架和类库。

  • 优势:
    • 解耦: 将对象间的依赖关系交由Spring进行控制,避免代码间的过度耦合,可以更加关注与业务开发
    • AOP编程: 通过AOP功能,可以方便的进行面向切面的开发,补足OOP开发中不容易实现的功能
    • 声明型事务: 通过声明式方式进行事务的管理
    • 方便集成各种框架: 提供对第三方框架的支持
    • 简化JAVAEE API: 对JAVAEE API进行简单封装,易于使用

核心模块

  • Spring Core:是核心类库,提供IOC服务
  • Spring Context:提供框架式的Bean访问方式,以及企业级功能 (JNDI、定时任务等)
  • Spring AOP:提供AOP服务
  • Spring DAO:对JDBC进行了抽象,简化了数据访问异常等处理
  • Spring ORM:对现有的ORM持久层框架进行了支持
  • Spring Web:提供了基本的面向Web的综合特性
  • Spring MVC:提供面向Web应用的Model-View-Controller实现

IOC和DI

IOC 为控制反转,不是技术,而是一种控制思想,将原本在程序中手动创建对象的控制权交由Spring进行管理。 DI 是指Spring在创建对象的过程中,将对象依赖的属性(基本类型值,集合,对象),通过配置设值交给队形

IOC 如何实现的

  1. 读取注解或者配置文件,获取依赖的Source,获取到类名
  2. 使用反射的API,基于类名实例化对应对象的实例
  3. 将对象实例,通过构造函数或者setter等注入方式完成赋值

AOP

AOP 面向切面编程,是Spring另一个重要的功能,能够将那些与业务逻辑无关,却与业务模块共有的逻辑功能进行封装整合,减少系统的重复代码。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐