日常提交

This commit is contained in:
wu xiangkai
2023-01-04 13:00:19 +08:00
parent a6b6032921
commit 13f3a43ddc
2 changed files with 81 additions and 0 deletions

View File

@@ -1,3 +1,66 @@
- [SpringMVC](#springmvc)
- [SpringMVC简介](#springmvc简介)
- [DispatcherServlet](#dispatcherservlet)
- [Context层次结构](#context层次结构)
- [WebApplicationContext的继承关系](#webapplicationcontext的继承关系)
- [Spring MVC中特殊的bean类型](#spring-mvc中特殊的bean类型)
- [HandlerMapping](#handlermapping)
- [HandlerAdapter](#handleradapter)
- [HandlerExceptionResolver](#handlerexceptionresolver)
- [ViewResolver](#viewresolver)
- [Web MVC Config](#web-mvc-config)
- [Servlet Config](#servlet-config)
- [请求处理过程](#请求处理过程)
- [路径匹配](#路径匹配)
- [Interception](#interception)
- [preHandle](#prehandle)
- [postHandle](#posthandle)
- [afterCompletion](#aftercompletion)
- [Exceptions](#exceptions)
- [Resolver Chain](#resolver-chain)
- [exception resolver的返回规范](#exception-resolver的返回规范)
- [container error page](#container-error-page)
- [视图解析](#视图解析)
- [处理](#处理)
- [重定向](#重定向)
- [转发](#转发)
- [Controller](#controller)
- [AOP代理](#aop代理)
- [Request Mapping](#request-mapping)
- [URI Pattern](#uri-pattern)
- [Pattern Comparasion](#pattern-comparasion)
- [消费media-type](#消费media-type)
- [产生media-type](#产生media-type)
- [Parameters \& Headers](#parameters--headers)
- [handler method](#handler-method)
- [类型转换](#类型转换)
- [Matrix Variable](#matrix-variable)
- [@RequestParam](#requestparam)
- [@RequestHeader](#requestheader)
- [@CookieValue](#cookievalue)
- [@ModelAttribute](#modelattribute)
- [@SessionAttributes](#sessionattributes)
- [@SessionAttribute](#sessionattribute)
- [Multipart](#multipart)
- [@RequestBody](#requestbody)
- [HttpEntity](#httpentity)
- [@ResponseBody](#responsebody)
- [ResponseEntity](#responseentity)
- [Jackson JSON](#jackson-json)
- [@JsonView](#jsonview)
- [Model](#model)
- [@ModelAttribute注解用法](#modelattribute注解用法)
- [@ModelAttribute作用于Controller类中普通方法上](#modelattribute作用于controller类中普通方法上)
- [@ModelAttribute作用于@RequestMapping方法上](#modelattribute作用于requestmapping方法上)
- [DataBinder](#databinder)
- [Model Design](#model-design)
- [Exception](#exception)
- [Controller](#controller-1)
- [CORS](#cors)
- [@CrossOrigin](#crossorigin)
- [spring boot全局配置CORS](#spring-boot全局配置cors)
# SpringMVC
## SpringMVC简介
SpringMVC是一款基于Servlet API的web框架并基于前端控制器的模式被设计。前端控制器有一个中央的控制器DispatcherServlet通过一个共享的算法来集中分发请求请求实际是通过可配置的委托组件@Controller类)来处理的。

View File

@@ -0,0 +1,18 @@
# Spring Boot Async
当当前上下文中没有Executor类型的bean对象时spring boot会自动配置一个ThreadPoolTaskExecutor类型的bean对象并且将该bean对象和异步task执行@EnableAsync和spring mvc异步请求处理关联在一起。
该默认创建的ThreadPoolTaskExecutor默认使用8个核心线程并且线程数量可以根据负载动态的增加或者减少。
可以通过如下方式对ThreadPoolTaskExecutor进行配置
```properties
# 该线程池最多含有16个线程
spring.task.execution.pool.max-size=16
# 有有界队列存放task上限为100
spring.task.execution.pool.queue-capacity=100
# 当线程空闲10s默认60s时会进行回收
spring.task.execution.pool.keep-alive=10s
```
如果使用@EnableScheduling一个ThreadPoolTaskScheduler也可以被配置。该线程池默认使用一个线程但是也可以动态设置
```properties
spring.task.scheduling.thread-name-prefix=scheduling-
spring.task.scheduling.pool.size=2
```