Spring Boot 是一个简化了 Spring 应用程序开发的框架,它通过提供默认配置和约定来减少开发者的工作量,并提供了丰富的功能和集成,使得开发者可以更加高效地构建和部署应用程序。
2、为什么要使用 Spring Boot
Spring Boot 提供了很多特性:自动配置、嵌入式 Web 服务器、健康检查、度量指标、安全性等。开发人员可以通过使用 Spring Boot Starter 来快速集成常用的第三方库和框架,比如 Spring Data、Spring Security、MyBatis、Redis 等。
3、Spring 和 Spring Boot 的区别
Spring 和 Spring Boot 的区别在于它们的目标和用途不同:Spring 是一个轻量级的开源框架,它提供了一种简单的方式来构建企业级应用程序。
Spring Boot 则是 Spring 框架的延伸和扩展,它提供了一种快速构建应用程序的方式。开发人员可以通过使用 Spring Boot Starter 来快速集成常用的第三方库和框架,使得开发人员可以快速构建出一个可运行的应用程序。
4、Spring Boot 和 Spring Cloud 的区别
Spring Boot 是快速开发的 Spring 框架,SpringCloud 是完整的微服务框架,SpringCloud 依赖于 SpringBoot。
5、SpringBoot 的优点
Spring Boot 是一个基于 Spring 框架的快速开发框架,它有以下优点:
简化配置: Spring Boot 采用约定大于配置的原则,提供了自动配置的特性,大部分情况下无需手动配置,可以快速启动和运行应用程序。同时,Spring Boot 提供了统一的配置模型,集成了大量常用的第三方库和框架,简化了配置过程。
内嵌服务器: Spring Boot 集成了常用的内嵌式服务器,如 Tomcat、Jetty 和 Undertow 等。这意味着不再需要单独安装和配置外部服务器,可以直接运行 Spring Boot 应用程序,简化了部署和发布过程。
自动装配: Spring Boot 提供了自动装配机制,根据应用程序的依赖关系和配置信息,智能地自动配置 Spring 的各种组件和功能,大大减少了开发人员的手动配置工作,提高了开发效率。
起步依赖: Spring Boot 引入了起步依赖(Starter Dependencies)的概念,它是一种可用于快速集成相关技术栈的依赖项集合。起步依赖能够自动处理依赖冲突和版本兼容性,并提供了默认的配置和依赖管理,简化了构建和管理项目的过程。
自动化监控和管理: Spring Boot 集成了 Actuator 模块,提供了对应用程序的自动化监控、管理和运维支持。通过 Actuator,可以获取应用程序的健康状况、性能指标、配置信息等,方便运维人员进行故障排查和性能优化。
丰富的生态系统: Spring Boot 建立在 Spring Framework 的基础上,可以无缝集成 Spring 的各种功能和扩展,如 Spring Data、Spring Security、Spring Integration 等。同时,Spring Boot 还提供了大量的第三方库和插件,可以方便地集成其他技术栈,构建全栈式应用程序。
可扩展性和灵活性: 尽管 Spring Boot 提供了很多自动化的功能和约定,但它也保持了良好的可扩展性和灵活性。开发人员可以根据自己的需求进行自定义配置和扩展,以满足特定的业务需求。
@SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。@Configuration 与 @Bean 结合使用。@Configuration 可理解为用 spring 的时候 xml 里面的标签,@Bean可理解为用 spring 的时候 xml 里面的标签。
@EnableAutoConfiguration:打开自动配置的功能,它的子注解中最关键的就是 @Import(AutoConfigurationImportSelector.class) ,借助 AutoConfigurationImportSelector ,@EnableAutoConfiguration 可以帮助 Spring Boot 应用将所有符合条件的 @Configuration 配置都加载到当前 Spring Boot 创建并使用的IoC容器。