spring系统学习-概述
一 概述
1.1 三层架构
- 表现层:controller
- 业务层:service
- 持久层:dao
1.2 特性
- 控制反转:将对象的创建权交给Spring去创建。
- 依赖注入:依赖的对象不需要手动调用setXX 方法去设置,而是通过配置赋值。
- 面向切面编程:AOP
1.3体系结构
01 核心容器
-
spring-core
- 提供了框架的基本组成部分,包括 IoC 和依赖注入功能
-
spring-beans
- 提供BeanFactory,工厂模式的微妙实现。
-
spring-context
- 建立在由core和beans模块的基础上
- 以一种类似于JNDI注册的方式访问对象。
- Context模块继承自Bean模块,并且添加了国际化(比如,使用资源束)、事件传播、资源加载和透明地创建上下文(比如,通过Servelet容器)等功能。
- Context模块支持Java EE的功能,比如EJB、JMX和远程调用等。
- Context模块的焦点接口:ApplicationContext
-
spring-context-support:提供对第三方库集成到Spring上下文的支持
- 缓存(EhCache, Guava, JCache)
- 邮件(JavaMail)
- 调度(CommonJ, Quartz)
- 模板引擎(FreeMarker, JasperReports, Velocity)
-
spring-expression(SpEL,Spring表达式语言,Spring Expression Language)
- 强大的表达式语言,用于在运行时查询和操作对象图
- 支持set和get属性值、属性赋值、方法调用、访问数组集合及索引的内容、逻辑算术运算、命名变量、通过名字从Spring IoC容器检索对象,还支持列表的投影、选择以及聚合等。
02 它们的完整依赖关系如下图所示:
03 简单 helloword
代码地址:https://gitee.com/DanShenGuiZu/learnDemo.git