spring系统学习-概述

一 概述

1.1 三层架构

  1. 表现层:controller
  2. 业务层:service
  3. 持久层:dao

spring系统学习-概述

1.2 特性

  1. 控制反转:将对象的创建权交给Spring去创建。
  2. 依赖注入:依赖的对象不需要手动调用setXX 方法去设置,而是通过配置赋值。
  3. 面向切面编程:AOP

1.3体系结构

spring系统学习-概述

01 核心容器

  1. spring-core

    1. 提供了框架的基本组成部分,包括 IoC 和依赖注入功能
  2. spring-beans

    1. 提供BeanFactory,工厂模式的微妙实现。
  3. spring-context

    1. 建立在由core和beans模块的基础上
    2. 以一种类似于JNDI注册的方式访问对象。
    3. Context模块继承自Bean模块,并且添加了国际化(比如,使用资源束)、事件传播、资源加载和透明地创建上下文(比如,通过Servelet容器)等功能。
    4. Context模块支持Java EE的功能,比如EJB、JMX和远程调用等。
    5. Context模块的焦点接口:ApplicationContext
  4. spring-context-support:提供对第三方库集成到Spring上下文的支持

    1. 缓存(EhCache, Guava, JCache)
    2. 邮件(JavaMail)
    3. 调度(CommonJ, Quartz)
    4. 模板引擎(FreeMarker, JasperReports, Velocity)
  5. spring-expression(SpEL,Spring表达式语言,Spring Expression Language)

    1. 强大的表达式语言,用于在运行时查询和操作对象图
    2. 支持set和get属性值、属性赋值、方法调用、访问数组集合及索引的内容、逻辑算术运算、命名变量、通过名字从Spring IoC容器检索对象,还支持列表的投影、选择以及聚合等。

02 它们的完整依赖关系如下图所示:

spring系统学习-概述

03 简单 helloword

spring系统学习-概述
代码地址:https://gitee.com/DanShenGuiZu/learnDemo.git