三者区别及SpringBoot相对于Spring的改进
1. Spring、SpringMVC和SpringBoot的区别
1.1 Spring
Spring是一个开源容器框架,可以接管web层,业务层,dao层(持久层)的组件。
并且可以配置各种bean,和维护bean与bean之间的关系。
其核心就是控制反转(IOC)和面向切面(AOP)。
简单的说就是一个分层的轻量级开源框架。
1.2 SpringMVC
SpringMVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。
它是一种mvc框架,用于替代servlet处理、响应请求、获取表单参数、表单校验等。
1.3 SpringBoot
SpringBoot是一个用来简化新Spring应用的初始搭建的快速开发框架,延续了spring框架的核心思想IOC和AOP,简化了应用的开发和部署。
Spring Boot是为了简化Spring应用的创建、运行、调试、部署等出现的。
2. SpringBoot相对于Spring的改进
SpringBoot是Spring框架的一个子项目,旨在简化Spring应用程序的开发、部署、运行和调试过程。
它通过提供一种约定优于配置(假定一个大众化合理的默认值)的方式来帮助开发者快速搭建基于 Spring 的应用,并自动配置常见的第三方库和组件,从而减少样板代码和配置。
2.1 自动配置
Spring Boot 通过条件化配置机制,根据应用的依赖和环境自动配置 Spring 容器,减少了手动配置的工作量。只需添加相应的依赖,即可自动配置许多常见的组件,如数据源、Web 容器等。
2.2 起步依赖
Spring Boot 提供了一系列精心配置的“起步依赖”,可以在项目中引入相关功能所需的依赖项,无需手动查找和添加依赖,从而简化了依赖管理过程。
2.3 内嵌式容器
Spring Boot 可以将应用打包成可执行 JAR 或 WAR 文件,并内嵌Tomcat、Jetty 或 Undertow 等常见的 Web 容器,使得应用的部署非常简单,不再需要繁琐的配置和安装外部容器。
2.4 Actuator
Spring Boot Actuator 提供了一组强大的生产环境监控和管理功能,可以通过 REST 接口查看应用的健康状态、性能指标、配置信息等,便于运维人员进行运行时监控和调试。
2.5 外部化配置
Spring Boot 允许将配置从代码中分离出来,可以使用属性文件、YAML 文件、环境变量等多种方式来配置应用,从而使得配置的管理更加灵活方便。
2.6 简化的注解
Spring Boot 提供了一系列简化配置的注解,如 @SpringBootApplication
注解可以替代多个注解的组合,简化了应用的初始化配置。
2.7 自带开发服务器
在开发阶段,Spring Boot 自带了一个快速的开发服务器,可以自动检测代码的变化并进行热部署,开发者可以实时查看应用的变化,加速开发过程。
2.8 便捷的测试
Spring Boot 提供了对单元测试和集成测试的良好支持,可以方便地编写和执行测试用例,确保应用的质量。
2.9 改进总结
总的来说,Spring Boot 极大地简化了 Spring 应用的开发、部署和运行过程,使开发者能够更专注于业务逻辑的实现,同时提高了应用的可维护性和扩展性。