JavaWeb:@PostConstruct 里调事务方法不生效:Bean代理创建时机
启动后要用 @PostConstruct 做一次数据初始化,方法上明明标了 @Transactional,异常却不回滚。根因是初始化回调发生在 BeanPostProcessor 之后但在代理生效之前,调用的还是原始对象。本文梳理 Bean 生命周期顺序并给出三种可靠替代方案。
第27讲 Spring Boot 定时任务与邮件发送
本讲示例与实战用到的全部依赖:说明:1 spring-boot-starter-mail 内置 JavaMailSender、SimpleMailMessage、MimeMessageHelper;2 本讲统计表查询用 MyBatis 注解 SQL,因此需要 MyBatis 依赖;
启动初始化数据这5个坑,CommandLineRunner执行了两次排查到崩溃
Spring Boot 启动后初始化数据是日常开发高频需求。CommandLineRunner、ApplicationRunner、@PostConstruct 三兄弟各有各的坑,用错一个就是线上事故。1.
ApplicationRunner 和 CommandLineRunner 启动执行顺序全解
项目部署上线后要做数据预热,你写了个 CommandLineRunner 把字典表加载到 Redis。后来同事又加了个 ApplicationRunner 做索引初始化。
日本版“微信”Line也发布了智能音箱 但最心心念的却是游戏
应用起家的Line已经成为了一个类似微信的“手机操作系统”,支付、游戏、打车…最近他们还发布了两款人工智能音箱,想赶上未来的风口。
spring动态数据源:只改配置即可接入新数据源
在实际的业务场景中,我们经常会遇到需要动态配置数据源的情况,只需要修改配置,就能增加新的数据源的接入,而不需要修改程序代码,通过动态数据源技术可以实现这个目标。 具体的代码参照 示例项目 https://github.
面试官:如何实现缓存的预热?你真的会答吗
面试题:如何实现缓存的预热?考察方向:实战场景 · 场景题先别往下翻,想一想你会怎么回答,再对照下面的解析。典型回答考察点缓存预热看似简单,实际考察的是什么时候把数据放进缓存、放哪些数据。
只会CommandLineRunner?Spring高阶玩法SmartLifecycle 了解一下
在01的世界里探索,在烟火人间中生活。哈喽,大家好,我是「Yann」。每次到发版的时候,你在旁边看着运维兄弟熟练地敲下 kill -15(如果他敲 kill -9 你可以先去打他一顿),你的 SpringBoot 容器开始停机。问题来了:线程池里还没跑完的任务怎么办?