SpringBoot
文章平均质量分 61
SpringBoot有关内容
月犹依依
RPG、Flow、Loop & Zoom! Have fun every day~
一天一天成长为架构师~
展开
-
Maven引用对Spring工程启动造成影响的问题总结
文章目录问题解决问题使用springboot自动注入的方式搭建好了工程,结果启动的时候报错了!!!,错误如下图:Description:Field userEntityMapper in com.xxx.xxx.service.UserService required a bean of type 'com.xxx.xxx.dao.UserEntityMapper' that could not be found.Action:Consider defining a bean of typ原创 2021-10-27 20:39:05 · 249 阅读 · 0 评论 -
SpringMVC ExceptionHandler原理与入参以及返回值
文章目录源码 & 原理入参与返回值源码 & 原理https://juejin.cn/post/6844903815859322893Spring入参与返回值https://blog.csdn.net/j510924/article/details/51130853?ops_request_misc=%7B%22request%5Fid%22%3A%22163100093516780264072172%22%2C%22scm%22%3A%2220140713.130102334..%原创 2021-09-13 12:55:12 · 2023 阅读 · 0 评论 -
HttpServletRequestWrapper的使用:二次封装/处理Request
ResponseWrapper同理背景有段程序使用Http的方式与业务方交互,而且是明文传输数据。我方的代码已经打包放在服务器上运行了很长时间,这时突然要求修改数据传输的方式,要求加密后再传输,而我方的原有的代码不能改变,以防止引发其它问题。如何在不修改我方现有的代码的前提下,满足合作商的要求?技术方案采用Filter+HttpServletRequestWrapper就可以解决这个问题。首先:在filter中拦截到加密后的请求,将参数解密,然后组装成一个新的明文请求串。然后:重写HttpSe转载 2021-08-31 13:00:03 · 3862 阅读 · 0 评论 -
@Mapper注解:Mybatis避免写xml与实体间字段关系映射
文章目录参考与详细原理实例支持使用注解来配置映射的sql语句,这样可以省掉映射器xml文件。参考与详细原理@Mapper注解详解:使用方法、源码https://mynamelancelot.github.io/mybatis/mapper.html使用注解配置Mapperhttps://blog.csdn.net/soonfly/article/details/67640653实例Application配置指定mapper文件扫描位置@MapperScan作用:指定要变成实现类的接口所在原创 2021-08-31 12:55:09 · 804 阅读 · 0 评论 -
Spring Boot拦截器以及常用拦截器demo
文章目录用途代码用途在 Spring中,当请求发送到 Controller 时,在被Controller处理之前,它必须经过 Interceptors(0或多个),背后是一种责任链的设计模式。Spring Interceptor是一个非常类似于Servlet Filter 的概念 。典型通途:日志记录:记录请求信息的日志,以便进行信息监控、信息统计、计算 PV(Page View)等;权限检查:如登录检测,进入处理器检测是否登录;性能监控:通过拦截器在进入处理器之前记录开始时间,在处理完后记原创 2021-08-30 12:41:26 · 357 阅读 · 0 评论 -
Spring Boot使用CommonsRequestLoggingFilter记录传入的请求
原理Spring 自带 AbstractRequestLoggingFilter,在处理请求之前和之后执行日志记录操作,这个过滤器需要一个子类来覆盖beforeRequest(HttpServletRequest, String)和afterRequest(HttpServletRequest, String)方法来执行围绕请求的实际日志记录。Spring 提供了以下 2 个实现 AbstractRequestLoggingFilterCommonsRequestLoggingFilterServ原创 2021-08-26 09:28:49 · 2069 阅读 · 0 评论 -
logback开启异步打印
文章目录参考原理真实配置参考https://blog.csdn.net/qq496013218/article/details/76603779原理ch.qos.logback.classic.AsyncAppender是logback的一个异步打印实现类,指明使用该类打印日志即开启了异步打印功能。当Logging Event进入AsyncAppender后,AsyncAppender会调用appender方法。append方法在将event填入Buffer(这里选用的数据结构为BlockingQ原创 2021-08-26 09:22:16 · 1366 阅读 · 0 评论 -
多个ExceptionHandler类的执行顺序
文章目录背景解决方案代码背景2个服务:A-common 和 BService,各自有异常处理器。其中A中定义了通用的异常处理器,供所有服务直接调用。但是B服务由于业务需求需要处理一些A中没有的异常,由于A中存在兜底逻辑:对Exception进行捕获,这个时候就要指定异常处理器的执行顺序。解决方案Spring的异常处理器是根据异常处理器被加载的顺序来顺序执行,比如:A->B->C ,如果B拦截并且处理了某个异常,就会直接抛出,C的异常处理器就执行不到了。可以通过 @Order 注解来原创 2021-08-24 10:28:40 · 4949 阅读 · 0 评论 -
logback日志pattern中配置日志截断
logback日志格式log pattern中配置日志截断参考实例参考SpringBoot的默认配置:https://www.jianshu.com/p/cef63c21f415默认在default.xml中配置了logback的FILE_LOG_PATTERN语法:http://thxopen.com/java/2019/04/12/limit-message-size-in-logback.html<pattern>%-4relative [%thread] %-5level -原创 2021-08-10 18:24:32 · 1817 阅读 · 0 评论 -
Spring RestTemplate进行post、get网络请求
Spring RestTemplate进行post、get网络请求简介使用实例参考简介spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,统一了RESTful的标准,封装了http链接, 我们只需要传入url及返回值类型即可。相较于之前常用的HttpClient,RestTemplate是一种更优雅的调用RESTful服务的方式。使用实例Bean注册:@Bean public RestTemplate restTemplate(原创 2021-07-15 21:03:58 · 389 阅读 · 0 评论 -
使用Spring的ApplicationListener实现领域事件
使用Spring的ApplicationListener实现领域事件参考核心类参考https://www.cnblogs.com/lwcode6/p/12072202.html缺点:单机版本,各个服务器自己处理自己产生的领域事件。核心类通过ApplicationEvent类(事件)和ApplicationListener接口(事件处理),可以实现ApplicationContext事件处理事件定义:// 事件基类public abstract class DomainEvent<T&g原创 2021-07-15 20:46:18 · 205 阅读 · 0 评论 -
SpringBoot 异步新建线程池并传递上下文
SpringBoot 异步新建线程池并传递上下文参考代码参考TaskDecorator介绍:https://www.jianshu.com/p/a30840acb882异步调用介绍以及异步线程之间上下文信息传递:https://blog.csdn.net/keets1992/article/details/98113619异步的介绍实际上还是@Async,参见文章:SpringBoot Controller异步请求@Async本篇的核心是,上下文信息的传递代码装饰器类import org原创 2021-04-17 14:33:11 · 1442 阅读 · 0 评论 -
ResponseBodyAdvice:对返回值二次封装
代码@Configurationpublic class ReturnConfig { @RestControllerAdvice( {"aaa.controller", "bbb.controller"}) static class ResponseAdvice implements ResponseBodyAdvice<Object> { private static final Object[] DEFAULT_PARAMETERS = {""};原创 2021-04-17 14:22:48 · 377 阅读 · 1 评论 -
CompletableFuture实现异步调用RPC服务
参考https://blog.csdn.net/weixin_44119551/article/details/113182434?utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~OPENSEARCH~default-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~OPENSEARCH~default-1.con原创 2021-06-23 14:15:00 · 427 阅读 · 0 评论 -
ApplicationContextAware:Spring Bean的获取
参考资料代码Bean生命周期中的一个应用,通过ApplicationContextAware 完成了回调注入。另两篇实例https://www.jianshu.com/p/da700e9a5f2ahttps://www.cnblogs.com/loong-hon/p/10917755.html@Componentpublic class SpringContext implements ApplicationContextAware { private static Applicati原创 2021-04-17 11:06:43 · 94 阅读 · 0 评论 -
SpringBoot支持国际化功能
SpringBoot支持国际化功能参考具体项目参考Spring Boot、SpringMVC进行i18n国际化支持:使用MessageSourcehttps://www.jianshu.com/p/a354d3f849echttps://www.jianshu.com/p/69f5a19468db具体项目需求:数据库信息展示时要实现国际化关键核心类:LocaleMessage.java(@Component注解)关键对象:@Autowired private MessageSou原创 2021-04-17 10:44:13 · 218 阅读 · 0 评论 -
Spring集成WebSocket通信,借助ignite消息机制
Spring集成WebSocket通信,借助ignite消息机制需求说明:Ignite消息和事件的背景知识项目代码WebSocketConfigWebSocketControllerWebSocketServiceIgnite作为消息缓存的配置MessageControllerMessageService其他参考SpringBoot集成WebSocket的四种方式Websocket系列文章需求说明:要求server端能与客户端实时通信,有新的消息实时推送。服务器将来有多活的需求缓存所有历史未读取消息原创 2021-02-23 17:46:17 · 354 阅读 · 0 评论 -
SpringBoot开启对CORS的支持
SpringBoot开启对CORS的支持Demo背景一次正常的请求跨域测试解决方案 - Cors跨域Cors是什么方案一:使用@CrossOrigin注解方案二:CORS全局配置-实现WebMvcConfigurer方案三:拦截器实现Demo背景一次正常的请求Controller层代码:@RequestMapping("/demo")@RestControllerpublic class CorsTestController {@GetMapping("/sayHello") publ原创 2021-01-31 15:57:21 · 364 阅读 · 0 评论 -
SpringBoot Controller异步调用接口实现@Async
背景:后端根据前端传的参数,收集所有符合参数的日志并打印为csv,数据量为10W因此实现要求:接口异步,不阻塞其他功能的调用原计划打算另起线程处理,用消息队列传递消息给对应的监听进程,参考:由设计模式引起的多线程思考后来查到SpringBoot有自带的解决方案@Async,其调用时controller层接口实测能够完成异步调用。参考:https://www.jianshu.com/p/2d4b89c7a3f1https://www.cnblogs.com/huanzi-qch/p/112310原创 2020-08-14 14:33:04 · 3190 阅读 · 0 评论 -
bug未解之谜:Spring篇
遇到过的bug,某种方式解决掉了,但是原理未知。SpringBoot项目启动时报错:无法创建bean解决方式:原来的controller与service不在同一个包结构下面。将图中所示的controller与service放在同一个包下,该错误不复出现。...原创 2020-11-24 20:05:01 · 102 阅读 · 0 评论 -
SpringBoot常用注解收录(Todo)
参考:http://chengxudaren.com/blog/article/show/id/216.html一、注解(annotations)列表@SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。@Configuration 等同于spring的XML配置文件;使用Ja转载 2020-11-24 19:58:19 · 726 阅读 · 0 评论