java的 web项目maven项目

web项目:通俗的说就是在服务器上跑的项目,页面是通过服务器上的程序运算所得到的结果。
web是指用java语言开发的web项目。
maven项目是指用maven作为项目管理工具的项目,它和是不是web项目没关系。
区别就是它们是完全不同的概念,所以没法相互比较所谓优缺点。

微服务与分布式

简单理解,微服务从设计理念出发的,设计到把多个功能完全细化,单独开发并能运行,最终合并在一起,分布式是从部署的角度出发,考虑到用户体验,高并发的问题,将高并发的模块代码部署在多台服务器上采用负载均衡的方式减轻服务器的压力。

spring mvc < spring <springboot

spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc。
spring mvc 是只是spring 处理web层请求的一个模块。
spring boot 我理解就是把 spring spring mvc spring data jpa 等等的一些常用的常用的基础框架组合起来,提供默认的配置,然后提供可插拔的设计,就是各种 starter ,来方便开发者使用这一系列的技术,套用官方的一句话, spring 家族发展到今天,已经很庞大了,作为一个开发者,如果想要使用 spring 家族一系列的技术,需要一个一个的搞配置,然后还有个版本兼容性问题,其实挺麻烦的,偶尔也会有小坑出现,其实蛮影响开发进度, spring boot 就是来解决这个问题,提供了一个解决方案吧,可以先不关心如何配置,可以快速的启动开发,进行业务逻辑编写,各种需要的技术,加入 starter 就配置好了,直接使用,可以说追求开箱即用的效果吧.
spring 框架有超多的延伸产品例如 boot security jpa etc… 但它的基础就是 spring 的 ioc 和 aop ioc 提供了依赖注入的容器 aop 解决了面向横切面的编程 然后在此两者的基础上实现了其他延伸产品的高级功能 Spring MVC 呢是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题 因为 Spring 的配置太复杂了 各种 XML JavaConfig hin 麻烦 于是懒人改变世界推出了 Spring boot 约定优于配置 简化了 spring 的配置流程.
Spring 最初利用“工厂模式”( DI )和“代理模式”( AOP )解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个 MVC 框架(一些用 Spring 解耦的组件),用开发 web 应用( SpringMVC )。然后有发现每次开发都要搞很多依赖,写很多样板代码很麻烦,于是搞了一些懒人整合包( starter ),这套就是 Spring Boot 。

springMVC概念(我觉得挺好的)

Spring容器是什么

java类和对象的生命周期