项目中碰到循环依赖,经过公司的技术指导发现了两种写法
1. 监听器写法
//定义一个event
@Data
@AllArgsConstructor
@ApiModel("删除事件")
public class DocumentListDeleteEvent {
@ApiModelProperty("编号集合")
private List<String> number;
}
public interface DocumentListDeleteListener {
/**
* 编号发生批量删除事件
*
* @param event 删除参数
*/
//这个方法写在 该类的实现层可以直接调用
@EventListener
void onDocumentListDelete(DocumentListDeleteEvent event);
}
在实现层那里去加多一个implements DocumentListDeleteListener 实现这个监听
//引入监听器
private final ApplicationEventPublisher applicationEventPublisher;
//然后执行
applicationEventPublisher.publishEvent(new DocumentListDeleteEvent(number));
2.直接在该实现类下面写多一个实现类子模块,专门去负责和它相关类型的参数
意思是直接写多一个实现类,就是同一个实体类有两个实现类,只不过是实现类的名字不同而已
以上两个方法,如果感觉业务多的话,可以用第二方方法~
仅代表个人观点~