MVC模式、三层、Spring的体系结构

mvc:
M 代表 模型(Model)
模型是什么呢? 模型就是数据,就是 dao,bean
V 代表 视图(View)
视图是什么呢? 就是网页, JSP,用来展示模型中的数据
C 代表 控制器(controller)
控制器是什么? 控制器的作用就是把不同的数据(Model),显示在不同的视图(View)上,Servlet 扮演的就是这样的角色。
三层:在这里插入图片描述
原理:
在这里插入图片描述
Spring的体系结构
Spring一共有十几个组件,但是真正的核心组件只有几个。

在这里插入图片描述

从这个图中我们可以看出Spring框架的核心组件只有三个:Core、Context和Beans。他们构建起了整个Spring的骨骼架构,没有他们就不可能有AOP、Web等上层的特性功能。上面这些是Spring特性功能。
其中比较重要的几个包:
AOP包(主要提供面向切面编程的实现);
Web(主要提供了Web应用开发的支持及针对Web应用的MVC思想实现) 、ORM(为Hibernate、Mybatis这类持久化框架提供支持);
还有Spring MVC(这个是它自带的一个web视图层,可以替代到Sturts2)。
Spring最最核心的就是AOP和下面Spring核心包。

IOC控制反转

什么是控制反转?
将组件对象的控制权从代码本身转移到外部容器。

示例:使用Spring实现“控制反转”
类HelloSpring.java代码如下:
在这里插入图片描述

测试类HelloSpringTest.java代码如下:
在这里插入图片描述
Spring配置文件applicationContext.xml代码如下:
在这里插入图片描述
运行结果:
在这里插入图片描述
控制反转:
组件化的思想:分离关注点,使用接口,不再关注实现。
在这里插入图片描述
依赖的注入:将组件的构建和使用分开。

在这里插入图片描述

当某个角色(比如一个java实例,调用者)需要另一个角色(另一个java实例,被调用者)的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但是在spring里,创建被调用者的工作不再由调用者来完成。因此被称为控制反转;创建被调用者实例的工作通常由spring容器来完成,然后注入调用者,因此也称为依赖注入。这样给程序带来很大的灵活性,这样也实现了我们的接口和实现的分离。
简而言之也就是说我们要获得一个对象,不由我们开发者自己创建,而是由我们的容器来注入给我们的程序来使用。

分类:

技术点:

相关文章: