MVC
MVC是一种框架模式,将M和V的实现代码分离。
- M(Model):模型,业务规则。处理请求、返回数据,数据可以被多个视图使用。
- V(View):视图,就是你能看到并能交互的界面。
- C(Controller):控制器,负责接收用户的请求去调用哪个M去处理,然后再返回确定哪个V显示数据。
Servlet
为什么在这里讲一下Servlet?其实SpringMVC就是一个Servlet,所以弄清楚Servlet的过程,SpringMVC的就类似了。
我们现来看一下Servlet的类图关系。
MVC是一种框架模式,将M和V的实现代码分离。
为什么在这里讲一下Servlet?其实SpringMVC就是一个Servlet,所以弄清楚Servlet的过程,SpringMVC的就类似了。
我们现来看一下Servlet的类图关系。
本来没有这一节的,但是写完源码之后,在想是否能够类比一下别的更具体的东西,然后想着想着突然想到了个Bean到底是什么?好像用了这么久的Spring,都还没想过这个问题。然后就去看看官网、书、博客等。就有了这一节。
官网的解释:
《Spring5核心原理与30个类手写实战》中的解释:
Bean对于Spring的意义就像Object对于OOP的意义一样。Spring在Java组件化(JavaBean、EJB等)开发理念下出现的。
个人理解:
Bean是一个组件(对象),组成了我们的应用程序,通过IoC可以对其进行管理。就好比去吃自助餐里面的一道道菜。
官方文档的解释是:IoC也称为依赖注入(DI)。在此过程中,对象仅通过构造函数参数,工厂方法的参数或在构造或从工厂方法返回后在对象实例上设置的属性来定义其依赖项(即,与它们一起使用的其他对象) 。然后,容器在创建bean时注入那些依赖项。从本质上讲,此过程是通过使用类的直接构造或诸如服务定位器模式之类的机制来控制其依赖关系的实例化或位置的Bean本身的逆过程(因此,其名称为Control Inversion)。
简单来说:就是我们将一个个的bean对象交给IoC去管理,他会帮助我们去创建对象实例、填充属性、初始化、添加监听器等过程。
简单的来说就是对象a的属性中引用了对象b,对象b的属性中引用了对象c……最后引用到a。
1 |
|