一、SSM简介
SSM框架,是Spring + Spring MVC + MyBatis的缩写,Spring依赖注入DI来管理各层的组件,使用面向切面编程AOP管理事物、日志、权限等。SpringMVC代表了Model(模型)View(视图)Controller(控制)接收外部请求,进行分发和处理。Mybatis是基于jdbc的框架,主要用来操作数据库,并且将业务实体和数据表联系起来。
Spring | 团队的沟通桥梁、协作者 |
Spring MVC | 简化Servlet、简化视图映射 |
MyBatis | 统一提取sql、对象关系映射 |
二、MVC
M 代表 模型(Model)
模型就是数据,就是 dao,bean
V 代表 视图(View)
视图就是网页, JSP,用来展示模型中的数据
C 代表 控制器(controller)
控制器的作用就是把不同的数据(Model),显示在不同的视图(View)上,Servlet 扮演的就是这样的角色。
1、三层架构
三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:视图层、业务层、数据库访问层。区分层次的目的即为了“高内聚,低耦合”的思想。
视图层:通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
业务层:针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
数据库访问层:该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
2、MVC模式
控制器Controller: 负责转发请求,对请求进行处理。
视图View:界面设计人员进行图形界面设计。
模型Model:程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
3、MVC框架模式的优点
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
三、Spring
1、Spring的体系结构
Spring一共有十几个组件,但是真正的核心组件只有几个。
从这个图中我们可以看出Spring框架的核心组件只有三个:Core、Context和Beans。
其中比较重要的几个包:
(1)AOP包(主要提供面向切面编程的实现);
(2)Web(主要提供了Web应用开发的支持及针对Web应用的MVC思想实现) 、ORM(为Hibernate、Mybatis这类持久化框架提供支持);
(3)Spring MVC(这个是它自带的一个web视图层,可以替代到Sturts2)。
Spring最最核心的就是AOP和下面Spring核心包,也是学习的重点。
2、Spring核心技术
1.Spring 两大核心技术:
(1)控制反转(IoC:Inversion of Control ),也叫依赖注入(DI:Dependency Injection )。
(2)面向切面编程(AOP:Aspect Oriented Programming)。
2.Spring三个核心组件(Core、Context、Beans)。如果再在他们三个中选一个核心来,那就非Beans莫属
3、Spring的优点
Spring作为一个开源的轻量级的IOC和AOP容器框架,具有以下优点:
1、低侵入式设计:非入侵式设计,基于Spring开发的应用一般不依赖于Spring的类
2、独立于各种应用服务器,真正实现:一次编写,到处运行。
3、Spring的依赖注入特性使Bean与Bean之间的依赖关系变的完全透明,降低了耦合度:使用SpringIOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑。
4、它的面向切面编程(AOP)特性允许将一些通用任务如安全、事务、日志等进行集中式处理。
5、并且它还提供了与第三方持久层框架的良好整合,并简化了底层数据库访问。
6、高度的开放性(可以和Struts2、Hibernate、MyBatis、CXF等很多主流第三方框架无缝整合)。