JavaEE学习01(Spring1)

一、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等很多主流第三方框架无缝整合)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值