Spring
文章平均质量分 57
遥夜人间
这个作者很懒,什么都没留下…
展开
-
@Scheduled中的参数及Cron时间表达式
该注解提供了多种参数用于设置定时任务的执行时间和频率。cron表达式是一种时间表达式,可以用于表示基于时间的任务调度。它由6个时间部分组成,分别表示秒、分、时、日期、月份和星期,在不同的位置上使用不同的符号来表示取值范围或取值。fixedRate:频率,表示每隔多少毫秒执行一次。如果任务执行时间超过了指定的频率,则会等待任务执行完毕后再执行下一次任务。cron:用于设置高度定制化的执行时间。表示每分钟执行一次。initialDelay:初始延迟时间,表示在应用启动后多久开始执行定时任务,单位为毫秒。原创 2023-05-18 17:50:57 · 4588 阅读 · 0 评论 -
ThreadPoolTaskExecutor中的execute()方法和submit()方法有什么区别?
需要注意的是,在使用submit()方法提交任务时,不应该在任务执行过程中阻塞等待结果,否则可能会导致线程池中线程资源的浪费和性能的下降。应该在具体需要任务执行结果时再通过Future.get()方法获取异步任务的执行结果。ThreadPoolTaskExecutor是Spring框架中的一个线程池实现,它提供了execute()和submit()两种方法用于启动异步任务。原创 2023-05-06 15:33:22 · 1562 阅读 · 0 评论 -
@Transactional注解下使用多个线程进行异步操作数据,如果产生异常,事务是否回滚?
在processData()方法中,使用ThreadLocal记录当前线程产生的异常,然后在processAll()方法中进行异常捕获和事务的回滚。但是,如果使用多个线程异步进行操作,当产生异常时,由于存在多个线程,异常并不会立即传递到主线程中,导致无法立即执行事务的回滚操作。因此,需要在出现异常情况时,通过适当的方式捕获异常,控制事务的回滚。需要注意的是,在使用ThreadLocal记录异常时,需要在处理完线程任务后及时清理ThreadLocal,否则可能会导致线程重用时异常信息泄露的问题。原创 2023-05-06 15:27:21 · 2252 阅读 · 0 评论 -
SpringMVC中@ModelAttribute和@RequestBody的区别
1.SpringMVC中@ModelAttribute和@RequestBody的区别2.@ModelAttribute注解的使用案例原创 2023-04-11 11:45:37 · 518 阅读 · 0 评论 -
Maven聚合工程搭建Springboot项目
众所周知,maven可以管理项目依赖,但很多人忽视了maven的另一项重要功能——使用maven搭建聚合工程。这里使用maven搭建一个springboot的聚合工程作为案例,整合Lombok、Spring MVC、Druid、Mybatis。原创 2022-01-20 06:57:31 · 2420 阅读 · 1 评论 -
Spring源码解析(一):扫描注解并放入IOC容器(呕心沥血之作,大家耐心看完,很有帮助!!!)
今日份重点掌握:扫描注解并放入IOC容器我们先不谈怎么将外部的对象放入IOC容器,我们先讲一个问题,这个问题是什么呢?就是我们的注解来了之后,如何实现扫描,以及,最终是怎么将这个对象放到我们的容器中去的。实际上,最终调用的是refresh这个方法(register先不管,后面会谈),我们先进入refresh这个方法在refresh这个方法中(以下方法供了解)重点来了!!!真正实现对象实例化的是这个方法:也就是说,我们拿到这个对象,生成对象,放到我们的容器里面去原创 2020-09-02 21:57:21 · 342 阅读 · 1 评论