2023/12/31大约 3 分钟
2023/12/31小于 1 分钟
spring-boot-autoconfigure-processor和spring-boot-configuration-processor
spring-boot-configuration-processor和spring-boot-autoconfigure-processor两个包的作用讲解
spring-boot-autoconfigure-processor
和 spring-boot-configuration-processor
是 Spring Boot 中两个不同的注解处理器,功能和使用场景有显著差异:
2023/12/31大约 4 分钟
springboot和tomcat的关系
Spring Boot 和 Tomcat 的关系可以从以下几个方面来理解:
- Spring Boot 的内嵌服务器支持
Spring Boot 是一个基于 Spring 框架的快速开发工具,其核心特性之一是支持内嵌 Web 服务器(如 Tomcat、Jetty、Undertow)。开发者无需额外配置外部服务器,即可直接运行 Spring Boot 应用。 - Tomcat 的角色
Tomcat 是一个开源的 Servlet 容器和 Web 服务器,负责处理 HTTP 请求并返回响应。在 Spring Boot 中,Tomcat 默认作为内嵌服务器,解析请求并将结果返回给客户端。 - 协同工作原理
- Spring Boot 通过自动化配置简化了 Tomcat 的集成,开发者只需添加相关依赖(如
spring-boot-starter-web
),即可自动启用内嵌 Tomcat。 - 启动 Spring Boot 应用时,内嵌的 Tomcat 会随应用一起启动,并加载 Spring 容器中定义的控制器(如
@Controller
)来处理请求。
- Spring Boot 通过自动化配置简化了 Tomcat 的集成,开发者只需添加相关依赖(如
- 其他选择与性能优化
虽然 Tomcat 是 Spring Boot 的默认选择,但开发者也可替换为 Jetty 或 Undertow。例如,Undertow 在高并发场景下性能更优,适合部分大公司项目。
2023/12/31大约 5 分钟
配置文件加载顺序
- Spring Boot 默认支持 properties(.properties) 和 YAML(.yml .yaml ) 格式的配置文件。
- 创建 SpringBoot 项目时,一般的配置文件放置在代码中 resources 目录下。
- 配置文件加载顺序:
bootstrap.yaml
->application.yaml
->[若设置了运行环境配置,例:application-dev.yaml
]。 - 如果同一目录下,有
application.yml
也有application.properties
,默认先读取application.properties
。 - 如果同一个配置属性,在多个配置文件都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。
2023/12/31大约 2 分钟
目录:
Spring、SpringMVC、SpringBoot、SpringCloud
Spring 全家桶了为了解决不同场景的问题,逐渐演化出多套生态框架,如:Spring、SpringMVC、SpringBoot、SpringCloud,它们之间的关系:
1、Spring 框架就像一个家族,有众多衍生产品,如:Spring Boot 、Spring security、jpa等,但他们的基础都是Spring的IOC、AOP等,IOC提供了依赖注入的容器,AOP解决了面向切面编程,在此两者基础上实现其他延伸产品的高级功能
2022/12/17大约 5 分钟