spring
读钓
Java程序员
展开
-
一个好用的springboot starter是如何炼成的?
本文以调度中间件PowerJob为例,介绍为什么要自定义一个start?start是做什么用的?如何去定义一个start?带着这些疑问,会对starter理解的更深刻。1. 背景最近在研究一个调度中间件PowerJob:新一代分布式任务调度与计算框架。在研究其框架原理的同时,我发现在SpringBoot应用中使用PowerJob,需要手动构造他的配置类:作为新一代调度中间件,怎么能没有一个好用的 Spring Boot starter (以下简称starter)呢?所以,决定为PowerJob.原创 2020-07-27 00:29:44 · 422 阅读 · 0 评论 -
SpringBoot中如何优雅的使用多线程
本文带你快速了解@Async注解的用法,包括异步方法无返回值、有返回值,最后总结了@Async注解失效的几个坑。在 SpringBoot 应用中,经常会遇到在一个接口中,同时做事情1,事情2,事情3,如果同步执行的话,则本次接口时间取决于事情1 2 3执行时间之和;如果三件事同时执行,则本次接口时间取决于事情1 2 3执行时间最长的那个,合理使用多线程,可以大大缩短接口时间。那么在 Spri...原创 2020-04-22 17:50:25 · 2196 阅读 · 0 评论 -
spring4.3.7整合quartz2.2.3
项目背景首先引入Quartz的jar包在数据库中建立Quartz相关的表新建Quartz相关的配置文件quartzproperties整合Spring和Quartz添加定时任务作为示例service只写了一个方法接口就不写了定时任务具体的业务逻辑重点来了 因项目需要,在SSM中整合quartz,其中遇到了几处很坑的地方,作为记录,方便以后查看。项原创 2018-01-27 19:23:01 · 3333 阅读 · 1 评论 -
利用spring-core Util包中的Assert优雅的判断字符串、对象或者集合不为空
一般我们在Service中,判断字符串或对象不为空,会用相关的工具类来判断,比如Hutool的包,然后再抛个异常public List<Td42CaseFlow> getListByCaseKey(String caseKey) { if (StrUtil.isEmpty(caseKey)) { throw new BusinessException("案例编...原创 2018-12-11 23:35:07 · 5102 阅读 · 0 评论