# SpringBootFrame **Repository Path**: wujishu/SpringBootFrame ## Basic Information - **Project Name**: SpringBootFrame - **Description**: Demo for Spring Boot - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-08-06 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SpringBoot 相关模块开发 目前在学习和总结SpringBoot的一些相关开发,做模块项目用于记录。方便后期的工作开发以及学习。 ##框架 > SpringBoot 2.1.0.RELEASE jdk1.8 +第三方框架 ## 目前实现: #### SpringBoot-Base 1、属性设置、自定义属性使用 (1)、@value()读取 (2)、通过注入Environment操作属性配置文件 2、Tomcat容器设置 3、日志设置 (1)、日志路径名称设置 (2)、动态日志级别设置 (3)、日志分类型存储 (4)、日志TPS优化(异步存储) 4、全局异常处理 @ExceptionHandler、HandlerExceptionResolver、@controlleradvice 比较 (1)、若预期返回类型为text/html,s则返回错误信息页(View) (2)、其它预期类型 则返回详细的错误信息(JSON) (3)、特定异常捕捉 @ControllerAdvice+@ExceptionHandler 注解处理异常 5、文件上传 文件上传配置 6、Swagger2 自动api生成 7、数据校验以及数据校验异常处理 8、WebMvcConfigurer ### SpringBoot-Web 9、跨域(cors 跨域共享资源)的四种方式, 过滤器设置(全局)、拦截器设置(全局)、 注解配置(局部)、设置响应头(局部) 10、async 异步调用 11、filter 过滤器 12、listener 监听器 13、event 自定义事件监听 14、RestTemplate ## 说明 SpringBoot-Base 基础模块项目 1、属性设置、自定义属性使用 application.xml 中 设置 多环境配置、 application-dev.xml中增加自定义属性 冒号后面需要加空格 (1)、@value()读取 (2)、通过注入Environment操作属性配置文件 涉及方法 application-dev.yml、User、ValueDemo、ValueController 2、Tomcat容器配置 application.xml 中设置相关属性 3、日志模块 application.xml 中设置 (1)、日志路径名称设置 (2)、动态日志级别设置 (3)、日志分类型存储 (4)、日志TPS优化(异步存储) 涉及文件 application-dev.yml、logback-spring.xml、LogUtil、LonController 4、异常,全局异常处理 @ExceptionHandler、HandlerExceptionResolver、@controlleradvice @ExceptionHandler 注解只能作用为对象的方法上,并且在运行时有效,value() 可以指定异常类。由该注解注释的方法可以具有灵活的输入参数。 HandlerExceptionResolver 是 Spring 提供的一个接口。它可以用来处理全局异常! 官方不推荐 @ControllerAdvice 一般是和 @ExceptionHandler 组合在一起使用的。官方也推荐用这种方式处理统一全局异常。 (1)、若预期返回类型为text/html,s则返回错误信息页(View) (2)、其它预期类型 则返回详细的错误信息(JSON) (3)、特定异常捕捉 @ControllerAdvice+@ExceptionHandler 注解处理异常 涉及文件 error.html、ErrorInfo、GlobalExceptionResolver、GlobalExceptionController、GlobalExceptionHandler (使用一种即可,这里是演示方法) 5、文件上传 默认即可传文件,但是建议加一些配置 (1)、application.yml 中配置 (2)、multipartConfig 配置 涉及文件 application.yml、MultipartConfig、FileUploadController 6、Swagger2 自动api生成 引入依赖 增加 SwaggerConfig 配置文件,在controller和entity上增加swagger注解 涉及文件 application.yml、SwaggerConfig、SwaggerController、SwaggerDemo 7、数据校验以及数据校验异常处理 (1)、普通模式 (2)、快速失败 涉及文件 ValidController、GlobalValidExceptionHandler、ValidDemo 8、WebMvcConfigurer (1)、处理静态资源 (2)、直接映射 (3)、配置fastJson返回json转换 (4)、跨域CORS配置 (5)、拦截器配置 涉及文件 WebMvcConfig、WebMVCController、MvcHandlerInterceptor、web、application-dev SpringBoot-Web 9、 cors (1)、过滤器设置(全局) (2)、拦截器设置(全局) (3)、注解配置(局部) (4)、设置响应头(局部) 涉及文件 cors模块 10、async 异步调用 异步调用以及连接池设置 涉及文件 async模块 11、filter 过滤器 (1)、 @Filter 注解过滤器 (2)、FilterRegistrationBean方式 实现Filter接口 加入过滤链 涉及 filter模块 12、listener 监听器 (1)、 @WebListener 注解 (2)、启动类Application中添加bean或者另外创建配置文件 涉及模块 listener 13、event 自定义事件监听 实现监听方式三步骤: 1.自定义事件一般继承ApplicationEvent 2.定义事件监听实现ApplicationContextListener 3.发布事件 (1)、@EventListener 注解 (2)、实现ApplicationListener 接口 涉及 event模块 14、RestTemplate 涉及 RestTemplate模块