0 前言
进入新工作一段时间后,随着自己的了解查询资料,并且主动找了一些教材,发现了对Spring、Springboot和SpringMVC这些根本性的概念不清晰,所以特此查询一些资料,做一个简短的理解性的记录。
1 何为Spring
其实首先,我们应该先明确,什么是framework。框架说白了其实就是一组开发好的、可重复供他人使用的代码,主要是让他们的开发变得更加容易。
Spring就是一个轻量级的框架,帮助我们快速高效的开发Web应用。它支持Struts,JSP,Hibernate等。
2 何为Springboot
Springboot可以理解为更加高效版本的Spring。Springboot拆开就是Spring和boot。Spring代表他是基于Spring的,boot代表了bootstrap(英文意思为the technique of starting with existing resources and creating something more complex and effective),将现有资源集中完成一个更复杂的应用,即微服务。
3 两者区别
Spring还是主要靠注入依赖,帮我们专注于业务层。切面编程的特性对这些类生命周期的管理,组件模块化,基础层和业务分离解耦提供了很大的便利。 Springboot将 Spring Framework 的功能进行了扩展,将繁琐的配置功能进行了内部整合,通过一些自动化的配置和类似 SPI 的发现机制来自动感知功能组件,大大降低了使用成本。
4 引申谈一下SpringMVC
Spring Web MVC是一种基于Java的实现了Web MVC的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发。
它其实属于Web MVC在Spring框架中的应用。Spring是一个通用解决方案, 最大的用处就是通过Ioc/AOP解耦, 降低软件复杂性, 所以Spring可以结合其它应用一起开发,不仅限于Web。
5 后记
简而言之,可以说Spring Boot只是Spring本身的扩展,使开发,测试和部署更加方便。