Spring
优点:
- Spring框架是轻量级的,最基础的版本大约只有2MB。
- Spring框架的核心是IoC,它可以让程序员更加专注于业务逻辑的实现,而不是处理繁琐的细节。
- Spring框架的AOP功能可以帮助程序员更好地处理事务,提高程序的可维护性。
- Spring框架提供了很多优秀的模块,可以帮助程序员更好地实现业务逻辑。
缺点:
- Spring框架的学习曲线较陡,需要花费较多的时间来学习。
- Spring框架的性能较差,如果程序中使用了大量的Spring框架,可能会导致程序运行缓慢。
- Spring框架的配置文件较多,如果不能正确配置,可能会导致程序运行出错。
SpringBoot
优点:
- Spring Boot可以让开发者快速搭建Spring应用,减少配置文件的编写,提高开发效率。
- Spring Boot可以自动装配大部分常用的组件,减少开发者的工作量。
- Spring Boot提供了一个可执行的jar文件,可以让开发者快速部署应用。
缺点:
- Spring Boot的学习曲线较陡,需要花费较多的时间来学习。
- Spring Boot的性能较差,如果程序中使用了大量的Spring Boot,可能会导致程序运行缓慢。
- Spring Boot的配置文件较多,如果不能正确配置,可能会导致程序运行出错。
SpringMVC
优点:
- 封装代码,维护成本低,耦合性低;
- 有利于开发中的分工,提高开发效率;
- 组件重用,有利于代码复用,重用性高
缺点
- 没有明确的定义,不适合小型,中等规模的应用程序
- 增加系统结构和实现的复杂性
- 视图与控制器间的过于紧密的连接,视图对模型数据的低效率访问
Spring,Spring MVC,Spring Boot 三者比较
总的来说,Spring 就像一个大家族,有众多衍生产品例如 Boot,Security,JPA等等。但他们的基础都是Spring 的 IOC 和 AOP,IOC提供了依赖注入的容器,而AOP解决了面向切面的编程,然后在此两者的基础上实现了其他衍生产品的高级功能;Spring MVC是基于 Servlet 的一个 MVC 框架,主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种xml,properties处理起来比较繁琐。于是为了简化开发者的使用,Spring社区创造性地推出了Spring Boot,它遵循约定优于配置,极大降低了Spring使用门槛,但又不失Spring原本灵活强大的功能。
最后一句话总结:Spring MVC和Spring Boot都属于Spring,Spring MVC 是基于Spring的一个 MVC 框架,而Spring Boot 是基于Spring的一套快速开发整合包