在SERVICE的抽象类中去掉onApplicationEvent方法,不需要了,改写发布事件的方法,修改后变成这样
- import org.springframework.context.ApplicationEvent;
-
-
-
-
- public abstract class AbstractBaseService implements IBaseService {
-
-
-
- protected final void publishEvent(BaseEvent event) {
-
- EventController.publishEvent(event);
- }
-
-
-
-
- public void onBaseEvent(BaseEvent event) {
- }
-
-
-
-
- public List<Class<? extends BaseEvent>> getEventClasses(){
- return null;
- }
-
- }
到此框架就完成了,UserServiceImpl删除用户时发布事件的代码还和原来一样,不需要改变,只是监听类要变一下,不再实现ApplicationListener接口,改而实现IBaseEventListener接口,不过不需要再具体类中实现,因为已经在顶层接口中继承了,代码
- public class OtherServiceImpl extends AbstractBaseService {
- private IBaseDAO otherDao;
-
-
-
-
- protected void onBaseEvent(BaseEvent baseEvent){
-
- UserDeleteEvent event = (UserDeleteEvent)baseEvent;
- otherDao.deleteOtherData(event.getSource().getId());
- }
-
-
-
-
- public List<Class<? extends BaseEvent>> getEventClasses() {
- List<Class<? extends BaseEvent>> eventClasses = new ArrayList<Class<? extends BaseEvent>>(1);
-
- eventClasses.add(UserDeleteEvent.class);
- return eventClasses;
- }
- }
分享到:
相关推荐
总结来说,Spring自定义注解和AOP的结合使用,让我们能够灵活地在代码中插入跨切面的关注点,如日志记录、事务管理、性能监控等,而不必在每个方法中手动添加这些代码。这不仅提高了代码的整洁度,也使得系统更加...
总的来说,Spring自定义注解的解析是一个强大且灵活的工具,可以帮助我们实现更精细化的代码组织和控制。结合`@ComponentScan`,我们可以轻松地在Spring环境中管理和利用自定义注解,进一步提升代码的可读性和可维护...
首先,了解Spring中的属性编辑器机制。Spring会自动寻找并使用`java.beans.PropertyEditor`接口的实现来处理类型转换。这个接口定义了两个主要方法:`setAsText()`用于将字符串转换为对象,`getAsText()`则用于将...
在Spring框架中,事件处理是一种重要的通信机制,它允许组件之间进行解耦的通信。Spring事件处理基于发布/订阅模式,其中事件是消息的载体,而事件监听器则是对这些消息感兴趣的订阅者。在这个场景中,我们将探讨...
此外,Spring Security还提供了丰富的授权机制,如角色和权限控制。我们可以通过在URL前添加@Secured或@PreAuthorize注解,或者在配置类中定义访问规则,来限制对特定资源的访问。这使得我们可以根据用户的角色和...
这个名为"Spring自定义配置文件便签[Maven]工程可运行"的项目,显然是一个基于Maven构建的Spring 5.0应用程序,它包含了自定义配置文件和标签的实现。让我们深入探讨一下这些概念及其在实际应用中的作用。 首先,...
通过本文介绍的自定义异常处理逻辑,可以有效解决Spring Cloud Gateway默认异常处理机制中存在的问题,使得异常信息更加符合业务需求。此外,这种方式也为开发者提供了一个良好的起点,可以根据具体项目需求进一步...
Spring事件监听机制是Spring框架中的一个重要特性,它基于经典的观察者模式,允许应用程序组件之间进行松耦合的通信。在Spring中,事件监听机制由三部分组成:事件(ApplicationEvent)、事件监听器(Application...
本文将深入剖析Spring 5.2.9版本中自定义标签的解析过程,旨在帮助读者理解Spring内部的工作机制。 首先,我们了解自定义标签的基本概念。在Spring中,自定义标签通常是通过实现`org.springframework.beans.factory...
这个过滤器可以在认证阶段处理特定的场景,如自定义的认证机制、特殊的身份验证令牌处理等。在实际应用中,可能还需要根据项目需求进行更复杂的定制,比如集成OAuth2、JWT或其他安全协议。 在提供的压缩包文件...
开发者可以根据需要自定义事件和事件监听器,实现灵活的异步处理机制。 Spring事件机制的优点包括: * 松散耦合的设计理念,提高代码的可维护性和可扩展性。 * 事件机制可以解耦合业务逻辑和非业务逻辑,提高代码...
Spring事件处理还支持事件分发策略,如多线程处理事件,可以通过配置`SimpleApplicationEventMulticaster`或自定义实现`ApplicationEventMulticaster`接口来调整事件的传播方式。 此外,Spring还提供了`...
Spring 自定义注解和 Aspect 的使用 在本文中,我们将学习如何在 Spring 项目中使用自定义注解和 Aspect 来实现日志记录功能。我们将从头开始,创建一个简单的 Spring Boot 项目,然后使用自定义注解和 Aspect 来...
在自定义MVC框架时,首先要实现请求分发机制。DispatcherServlet在Spring MVC中扮演着关键角色,它接收所有HTTP请求,解析请求信息,然后根据请求映射信息找到对应的Handler(控制器)。我们可以仿照这个设计,创建...
总结起来,Spring的自定义标签解析是通过`NamespaceHandler`机制实现的,而注解解析则依赖于类路径扫描和`BeanDefinition`的创建。这两者都是Spring实现声明式编程和依赖注入的重要组成部分,极大地简化了Spring应用...
Spring框架的事件机制是其核心特性之一,它提供了一种基于发布-订阅模式的事件处理方式,使得在Spring应用中的不同组件之间可以进行解耦通信。这个机制允许一个组件(通常是一个服务)触发一个事件,然后其他感兴趣...
在Spring中,我们可以创建一个自定义的BeanPostProcessor实现,它会在Spring容器初始化bean之后、bean被其他bean使用之前,对bean进行额外的处理,比如执行特定的方法。 3. **BeanPostProcessor**:Spring的...
通过学习和运行这个示例,你可以深入理解Spring Security的自定义登录认证流程,以及如何与JWT相结合,为你的Spring Boot应用提供安全的认证和授权机制。记得在实际项目中,根据具体需求调整配置和代码,确保安全...
本节将深入探讨Spring 5.2.9版本中自定义标签的解析机制,以及背后的源码实现。 首先,Spring XML配置文件中的自定义标签是由Spring的`BeanDefinitionParser`接口处理的。这个接口定义了`parse()`方法,用于解析...
在使用Spring框架中的`RestTemplate`进行HTTP请求时,我们可能会遇到各种异常情况,如服务超时、服务不存在等,这些异常...在实际项目中,这种自定义处理机制非常实用,能够帮助我们更好地管理和服务调用的错误情况。