RestController
在controller类上使用@RestController注解后,不需要在方法上再写@Responsebody
Configuration(Full、Lite)
在springboot2中使用@Configuration定义配置类,proxyBeanMethods默认true,Full模式,保证配置类的方法每次调用返回的对象是同一个,如果修改成false,Lite模式,配置类的方法每次调用返回的对象不同,Full模式用来解决组件依赖问题,如果组件只是单纯注册,没有其他组件要依赖,修改成false减少判断速度更快。
条件装配Conditional
满足条件才注册bean(ConditionalOnBean、ConditionalOnMissingBean等)
Import
为容器中导入Bean
最佳实践
从官网查看properties配置https://docs.spring.io/spring-boot/docs/current/reference/html/index.html
@Data @slf4j注解的使用
Rest风格原理
WebMvcAutoConfiguration默认注入过滤器HiddenHttpMethodFilter
在过滤器HiddenHttpMethodFilter中,判断如果是post请求,则获取表单_method参数
request.getParameter(this.methodParam)
this.methodParam是一个常量
/** Default method parameter: {@code _method}. */
public static final String DEFAULT_METHOD_PARAM = "_method";
private String methodParam = DEFAULT_METHOD_PARAM;
如果_method的值是PUT, PATCH, DELETE,返回包装后的requestWrapper
requestToUse = new HttpMethodRequestWrapper(request, method);
后面的方法获取请求的方法实际调用的是requestWrapper的getMethod方法;
后面的方法获取请求的方法实际调用的是requestWrapper的getMethod方法
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210330203215744.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L25vb2I5NTI3,size_16,color_FFFFFF,t_70)