11.12 Spring开篇
什么是Spring?
概念:
-
JavaWeb开发框架,包含了很多的框架。称为spring全家桶
Spring framework
Spring MVC
Spring Boot
Spring Cloud
Spring Data
Spring Security等
Spring框架是指:Spring framework
Spring的核心
分层
Java SE/EEIOC(
Inverse of Control)--->控制反转AOP(
Aspect Oriented Programming)--->面向切面编程
IOC(Inverse of Control)---控制反转
概念:
-
将对象的创建权交给
Spring去创建
AOP(Aspect Oriented Programming)---面向切面编程
概念:
-
封装多个类的公共行为
-
封装那些与业务无关,被业务模块共同调用的逻辑。---减少系统重复的代码,降低模块间的耦合度
-
解决日志、事务、权限等问题
Spring的思想
-
Java类都是资源,资源都是类的实例对象(Bean) -
IOC容器是用来容纳、管理Bean对象的 -
Spring是一种基于Bean的编程
服务器端体系架构
表现层(Web)
业务逻辑层(Service)
持久层(Dao)
Spring体系结构
Spring根据功能不同划分多个模块:

上诉模块满足 一切企业级应用开发的需求 开发过程中可以选择性的使用需要的模块
Spring体系结构说明
Data Access/Integration(数据访问/集成)
Web模块
Core Container(Spring的核心容器)
AOP、Aspects、Instrumentation和Messaging
Test
Data Access/Integration层包括
-
JDBC模块:提供了一个JBDC的样例模板。消除了过长的JDBC编码和事务控制。还能使用Spring事务管理的好处 -
ORM模块:提供对象-关系映射框架集成的API接口。包括Hibernate和Mybatis等。还有Spring事务管理。无需额外控制事务 -
OXM模块:提供Object/XML映射的抽象层实现。将JavaBean对象映射成XML数据,或者反过来 -
JMS模块:Java消息服务,具体是指生产者-消费者模型。用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。 -
Transactions模块:支持编程和声明式事务管理
Web层包括
-
Web模块:提供了基本的Web开发集成特性。使用Servlet监听器的IOC容器初始化以及Web应用上下文 -
Servlet模块:提供Spring MVC Web框架实现。Spring MVC框架提供了基于注解的请求资源注入。 -
WebSocket模块:提供简单的接口,用户只需要实现响应的接口就可以快速搭建WebSocket Server实现双向通讯。 -
Portlet模块:提供在Portlet环境中使用MVC实现,类似Web-Servlet模块的功能
Core Container(Spring的核心容器)
组成部分:
-
Bean模块:提供了框架的基础部分。控制反转和依赖注入 -
Core模块:封装Spring底层部分,资源访问、类型转换以及常用工具类 -
Context上下文模块:建立在Core和Bean模块的基础上。集成Bean模块功能。ApplicationContext 是上下文模块的焦点 -
SpEL模块:提供表达式语言支持。包括访问和修改属性值,方法调用,支持访问及修改数组、容器和索引器,命名变量,支持算数和逻辑运算,支持从 Spring 容器获取 Bean,它也支持列表投影、选择和一般的列表聚合等。
AOP、Aspects、Instrumentation和Messaging
在Core Container之上
-
AOP模块:提供面向切面编程实现,并能动态把这些功能添加到需要的代码中 -
Aspects模块:提供与AspectJ的集成。面向切面编程的框架 -
Instrumentation模块:提供了类工具的支持和类加载器的实现 -
Messaging模块:Spring 4.0以后新增了消息(Spring-messaging)模块,该模块提供了对消息传递体系结构和协议的支持。
Test模块
-
支持测试框架
-
Junit -
-

浙公网安备 33010602011771号