说说SpringMVC、SpringBoot和SpringCloud三者之间的联系和区别
这个问题是我在参加一次面试晚会活动上被问到的一个问题,看标题显然很简单就能够回答出来,但是仔细一琢磨,平时蒙头苦干的我们可能缺少关注和积累,好像并不能用较专业的术语和逻辑很顺畅的表达出来,于是我简要的翻了翻资料,然后整理出了这篇文章。 Spring框架是一个大集合,也像一个大家族【可以到spring.io官网了解】。但家庭成员的基础都是基于Spring的IoC和AOP特性, IoC提供了依赖注入(DI)的容器,可谓是核心,AOP则提供了面向切面的编程方案,在前两者的基础上,继续演化升级实现了其他延伸产品的高级功能。 内容提要 Spring MVC是基于Servlet实现的一个前端MVC框架,主要解决WEB项目开发的问题。因为在业务开发的过程中发现Spring的配置非常复杂,各种XML、Config等处理起来比较繁琐。于是为了简化开发者的使用,从而创造性地推出了Spring boot,约定优于配置,简化了spring的配置流程。在业务日益繁杂和庞大的进程中,很多企业已经疲于应付庞大的业务模块和错综复杂的数据交互,于是微服务的理念开始提了出来,Spring根据这个理念打造出来微服务全家桶Spring Cloud,这其中有非常多高效的组件活跃在微服务生态中,微服务是基于Spring Boot进行开发的. 简单通俗地来理解就是:Spring最初利用“工厂模式”(DI)和“代理模式”(AOP