1.1 Spring的概念
Spring社区官网:http://www.springsource.org
概念:Spring 是最受欢迎的企业级 Java 应用程序开发框架,Spring 框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应用程序是需要扩展的。 Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO 编程模型来促进良好的编程实践。
POJO 编程模型:通俗的使用就是和数据库表相对应的创建实体类
web开发中的三层架构模式:
A 表现层 web层 MVC是表现层的一个设计模型 ---- 对应的就是controller视图层,接收前端发送过来的请求
B 业务层 service层----业务层,主要处理业务逻辑的
C 持久层 dao层-----对应的就是数据库访问层
1.2 spring的设计目标
1.简化JavaEE的开发
2.通过使用Spring的IOC容器,可以对这些耦合关系实现一个文本化、外部化的工作。通俗的说就是:通过一个或是几个XML文件就可以方便的对应的对象的耦合关系进行浏览。修改,维护。
3.通过IOC容器的依赖反转,把依赖关系的管理从Java对象中解放出来,是实现对象之间的解耦。原来的对象-对象的关系,转化成对象-IOC容器-对象的关系。
在设计上可以将spring划分为三个层次:核心、组件、应用
核心:
-
spring体系的核心就是:IOC容器和AOP模块
- spring通过IOC容器管理POJO对象,以及他们之间的耦合关系 - spring通过AOP以动态和非侵入式的方式来增强服务的功能 - 其他常见的服务:事务处理、Web MVC、JDBC、ORM、远程调用
核心容器由 spring-core,spring-beans,spring-context,spring-context-support和spring-expression(SpEL,Spring 表达式语言,Spring Expression Language)等模块组成:
上图为完整的依赖图
1.3 Spring的整体架构
如图Spring的架构图:
注意:spring的事务处理是声明式的事物处理,springMVC式以DispatcherServlet为核心
spring是模块化的,Spring 框架提供约 20 个模块:如下图:
1.4 Spring的优点
1.非侵入式
2.提供了一个一致的编程模型,使得应用HI接使用POJO开发,可以和运行环境隔离开来
3.面向接口编程,提高了代码的重用性和可测试性
4.改进了体系结构的选择降低了平台锁定的风险,就是让我们想用哪个框架就用哪个框架。Spring都进行了很好的集成
体系结构的选择降低了平台锁定的风险,就是让我们想用哪个框架就用哪个框架。Spring都进行了很好的集成