本文已参加「新人创作礼」活动,一起开启掘金创作之路.
Spring,SpringMVC,SpringBoot,SpringCloud有什么区别和联系?
-
Spring是⼀个轻量级的控制反转(IoC)和⾯向切⾯(AOP)的容器框架。Spring使你能够编写更⼲净、更可管理、并且更易于测试的代码。
-
Spring MVC是Spring的⼀个模块,⼀个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应⽤变得很容易。主要针对的是⽹站应⽤程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。
-
Spring配置复杂,繁琐,所以推出了Spring boot,约定优于配置,简化了spring的配置流程。
-
Spring Cloud构建于Spring Boot之上,是⼀个关注全局的服务治理框架。
Spring VS SpringMVC:
-
Spring是⼀个⼀站式的轻量级的java开发框架,核⼼是控制反转(IOC)和⾯向切⾯(AOP),针对于开发的WEB层(springMvc)、业务层(Ioc)、持久层(jdbcTemplate)等都提供了多种配置解决⽅案;
-
SpringMVC是Spring基础之上的⼀个MVC框架,主要处理web开发的路径映射和视图渲染,属于Spring框架中WEB层开发的⼀部分;
SpringMVC VS SpringBoot:
-
SpringMVC属于⼀个企业WEB开发的MVC框架,涵盖⾯包括前端视图开发、⽂件配置、后台接⼝逻辑开发等,XML、config等配置相对⽐较繁琐复杂;
-
SpringBoot框架相对于SpringMVC框架来说,更专注于开发微服务后台接⼝,不开发前端视图;
SpringBoot和SpringCloud:
-
SpringBoot使⽤了默认⼤于配置的理念,集成了快速开发的Spring多个插件,同时⾃动过滤不需要配置的多余的插件,简化了项⽬的开发配置流程,⼀定程度上取消xml配置,是⼀套快速配置开发的脚⼿架,能快速开发单个微服务;
-
SpringCloud⼤部分的功能插件都是基于SpringBoot去实现的,SpringCloud关注于全局的微服务整合和管理,将多个SpringBoot单体微服务进⾏整合以及管理;SpringCloud依赖于SpringBoot开发,⽽SpringBoot可以独⽴开发;
总结下来:
-
Spring是核⼼,提供了基础功能;
-
Spring MVC 是基于Spring的⼀个 MVC 框架 ;
-
Spring Boot 是为简化Spring配置的快速开发整合包;
-
Spring Cloud是构建在Spring Boot之上的服务治理框架。
spring boot的运⾏原理,(spring boot的底层是如何运⾏的?)
回答:
- spring boot的运⾏原理我的理解是⾸先运⾏核⼼类main⽅法,它会触发⾥⾯的 springApplication.run()⽅法,通过这个⽅法会把项⽬启动起来,并且加载和装配⼀些基本的配置,同时会触发启动类的注解@springbootapplication, 通过这个注解会调⽤三个注解: @enableAutoConfigration,@springBootConfiguration和@ComponeScan,这些三个注解把spring给初始化好就可以使⽤了