spring家族总结

spring和springMvc:

1:**Spring是控制反转IOC和面向切面AOP的容器框架,通过解耦来降低软件复杂性,并实现管理。**针对于开发的WEB层(springMvc)、业务层(Ioc)、持久层(jdbcTemplate)等都提供了多种配置解决方案;
控制反转IOC:DI依赖注入;
由第三方容器生成和管理对象;
优点:避免耦合;
spring默认生成bean都是单例的;
自动注入:@Autowired,@Resource
2: springMvc是spring基础之上的一个MVC框架,主要处理web开发的路径映射和视图渲染,属于spring框架中WEB层开发的一部分
http请求——>由容器(tomcat)解析http成一个request——>通过映射关系(路径,方法,参数)——>被springMVC一个分发器去找到可以处理这个请求的bean,tomcat里就由spring管理bean的一个池子(bean容器)里面找到。

springMvc和springBoot:

  1. springMvc属于一个企业WEB开发的MVC框架,涵盖面包括前端视图开发、文件配置、后台接口逻辑开发等,XML、config等配置相对比较繁琐复杂;

  2. springBoot框架相对于springMvc框架来说,更专注于开发微服务后台接口,不开发前端视图,同时遵循默认优于配置,简化了插件配置流程,不需要配置xml,相对springmvc,大大简化了配置流程;

springBoot和springCloud:

  1. spring boot集成了快速开发的spring多个插件,同时自动过滤不需要配置的多余的插件,简化了项目的开发配置流程,一定程度上取消xml配置,是一套快速配置开发的脚手架,能快速开发单个微服务;

  2. springboot可创建独立的spring应用,基于maven;基于spring4.0的轻量级框架

  3. spring cloud大部分的功能插件都是基于springBoot去实现的,springCloud关注于全局的微服务整合和管理,将多个springBoot单体微服务进行整合以及管理; springCloud依赖于springBoot开发,而springBoot可以独立开发;

Spring 框架家族 boot、security、jpa

1都是Spring的ioc、aop等. ioc 提供了依赖注入的容器, aop解决了面向横切面编程;
2 springMvc是基于Servlet 的一个MVC框架主要解决WEB开发的问题,Spring的配置非常复杂,各种XML、JavaConfig、servlet处理起来比较繁琐;
3springBoot框架,默认优于配置,简化了springMvc的配置流程;区别于springMvc的是,springBoot专注于微服务方面的接口开发,和前端解耦,虽然springBoot也可以做成springMvc前后台一起开发,但是这就有点不符合springBoot框架的初衷了;
4.4. 对于springCloud框架来说,它和springBoot一样,注重的是微服务的开发,但是springCloud更关注的是全局微服务的整合和管理,相当于管理多个springBoot框架的单体微服务;

你可能感兴趣的:(面试)