描述一下 Spring MVC 的执行流程?
- 用户请求到达前端控制器 DispatcherServlet。
- DispatcherServlet 调用 HandleMapping 处理器映射器。
- HandleMapping 找到具体的处理器,生成处理器对象和处理器拦截器(如果有则生成),并一起返回给 DispatcherServlet。
- DispatcherServlet 调用 HandleAdapter 处理器适配器。
- HandleAdapter 经过适配调用具体的处理器 Controller。
- Controller 执行返回 ModelAndView
- HandleAdapter 将 Controller 执行结果 ModelAndView 返回给 DispatcherServlet。
- DispatcherServlet 将 ModelAndView 传递给 ViewResolver 视图解析器。
- ViewResolver 解析后返回具体 View。
- DispatcherServlet 根据 View 渲染视图(将模型数据填充到视图中)。
- DispatcherServlet 响应用户。
Spring Boot Starter 有什么用?
Spring Boot Starter 可以简化和加速项目的配置和依赖管理。
- Spring Boot Starter 是一种预配置的模块,它封装了特定功能的配置和依赖项。开发者只需引入对应的 Starter 依赖,而无需手动地配置大量参数和依赖项。常见的启动器包括 spring-boot-starter-web(用于 Web 应用)、spring-boot-starter-data-jpa(用于数据库访问)。通过引入这些启动器,Spring Boot 可以自动加载需要的组件和 Bean,无需开发者手动进行大量配置。
- Spring Boot Starter 可以管理相关功能的依赖项,包括其他 Starter 和第三方库。确保它们协同工作,避免版本冲突和依赖问题。
- Spring Boot Starter 的设计使得应用可以引入不同的 Starter 来实现模块化的开发。每个 Starter 都关注一个特定的功能领域,如 Web 开发、数据库访问、消息队列。
- 开发者可以创建自己的 Starter,从而在项目中共享和重用特定功能的配置和依赖项。
Spring Boot 的常用注解?
- @SpringBootApplication:用于表示主应用程序类,通常位于项目的顶级包中。包含三个注解:@Configuration、@EnableAutoConfiguration 和 @ComponentScan。
- @Controller:用于标识类作为 Spring MVC 的 Controller。
- @RestController:类似于 @Controller。但是专门用于 Restful Web 的服务。包含两个注解:@Controller 和 @ResponseBody
- @RequestMapping:用于将 HTTP 请求映射到 Controller 的方法中。可以用在类上或方法上。
- @Autowired:用于自动注入 Spring 中的 Bean。可以用在构造方法、字段、Setter 方法上。
- @Service:用于标识类作为服务层的 Bean。
- @Respository:用于标识类作为数据访问层的 Bean。通常用于与数据库交互。
- @Component:通用的组件注解。可以标识任何 Spring 托管的 Bean。
- @Configuration:用于配置类。类中可以有 @Bean 注解用于定义 Bean。
- @EnableAutoConfiguration:用于启用 Spring Boot 的自动配置机制。根据项目的依赖和配置自动配置 Spring 应用程序。
- @Value:用于从属性文件或配置中读取值,将值注入到成员变量中。
- @Qualifier:与 @Autowired 一起使用,指定注入时使用的 Bean 的名称。
- @ConfigurationProperties:用于将配置文件属性中的映射到 Java Bean。
- @Profile: 用于定义不同环境下的配置,可以标识在类或方法上。
- @Async: 用于将方法标记为异步执行。

被折叠的 条评论
为什么被折叠?



