场景 很多时候当我们完成某些业务后需要给用户推送相关消息提醒。对于这种非核心业务功能我们可以拿出来,创建一个事件去异步执行,从而实现核心业务和子业务的解耦。 实现 定义事件类 Event 创建一个类,继承 ApplicationEvent ,并重写构造函数。 ApplicationEvent 是Spring提供的所有应用程序事件扩展类。 public…
主要的问题 什么是父子容器? 为什么需要用父子容器? 父子容器如何使用? 下面我们就来探讨探讨。 我们先来看一个案例 系统中有2个模块:module1和module2,两个模块是独立开发的,module2会使用到module1中的一些类,module1会将自己打包为jar提供给module2使用,我们来看一下这2个模块的代码。 模块1…
Spring中有个非常重要的知识点,AOP,即面相切面编程,spring中提供的一些非常牛逼的功能都是通过aop实现的,比如下面这些大家比较熟悉的功能 spring事务管理:@Transactional spring异步处理:@EnableAsync spring缓存技术的使用:@EnableCaching…
@Scope:指定bean的作用域 用法 @Scope用来配置bean的作用域,等效于bean xml中的bean元素中的scope属性。 看一下其源码: @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented…
什么是循环依赖? 这个很好理解,多个bean之间相互依赖,形成了一个闭环。 比如:A依赖于B、B依赖于C、C依赖于A。 代码中表示: kotlin复制代码public class A{ B b; } public class B{ C c; } public class C{ A a; } 如何检测是否存在循环依赖?…
本文内容 详细介绍5中bean的sope及使用注意点 自定义作用域的实现 应用中,有时候我们需要一个对象在整个应用中只有一个,有些对象希望每次使用的时候都重新创建一个,spring对我们这种需求也提供了支持,在spring中这个叫做bean的作用域,xml中定义bean的时候,可以通过scope属性指定bean的作用域,如: <bean id=""…
本文内容 主要介绍xml中依赖注入的配置 构造器注入的3种方式详解 set方法注入详解 注入容器中的其他bean的2种方式 其他常见类型注入详解 依赖回顾 通常情况下,系统中类和类之间是有依赖关系的,如果一个类对外提供的功能需要通过调用其他类的方法来实现的时候,说明这两个类之间存在依赖关系,如: public class UserService{…
工作流是我们开发企业应用几乎必备的一项功能,工作流引擎发展至今已经有非常多的产品。最近正好在接触 Camunda ,所以来做个简单的入门整合介绍。如果您也刚好在调研或者刚开始计划接入,希望本文对您有所帮助。如果您是一名Java开发或Spring框架爱好者,欢迎关注我 程序猿DD open in new window ,持续非常技术干货。 #…
本文我们一起看看Spring Boot中 JdbcClient 和 JdbcTemplate 之间的差异。 以下内容使用的Java和Spring Boot版本为: Java 21 Spring Boot 3.2.1 假设我们有一个 ICustomerService 接口: public interface ICustomerService {…