spring时间监听器示例
时间: 2023-07-26 19:40:07 浏览: 94
好的,下面是一个简单的 Spring 时间监听器示例:
首先,定义一个事件类,例如:
```
public class CustomEvent extends ApplicationEvent {
private String message;
public CustomEvent(Object source, String message) {
super(source);
this.message = message;
}
public String getMessage() {
return message;
}
}
```
然后,定义一个监听器类,实现 ApplicationListener 接口,例如:
```
public class CustomEventListener implements ApplicationListener<CustomEvent> {
@Override
public void onApplicationEvent(CustomEvent event) {
System.out.println("Received custom event - " + event.getMessage());
}
}
```
最后,在 Spring 配置文件中配置事件和监听器的关系,例如:
```
<bean id="customEventListener" class="com.example.CustomEventListener"/>
<bean id="customEventPublisher" class="com.example.CustomEventPublisher"/>
<bean id="applicationEventMulticaster" class="org.springframework.context.event.SimpleApplicationEventMulticaster">
<property name="taskExecutor">
<bean class="org.springframework.core.task.SimpleAsyncTaskExecutor"/>
</property>
</bean>
<bean id="customEvent" class="com.example.CustomEvent">
<constructor-arg value="Hello, world!"/>
</bean>
<bean id="customEventPublisher" class="com.example.CustomEventPublisher">
<property name="applicationEventPublisher" ref="applicationContext"/>
</bean>
```
上述配置文件中,我们定义了一个 `CustomEvent` 事件类,一个 `CustomEventListener` 监听器类,以及一个 `CustomEventPublisher` 类,用于发布事件。同时,我们还配置了 `applicationEventMulticaster`,用于异步处理事件。
现在,当我们发布 `CustomEvent` 事件时,`CustomEventListener` 监听器会接收到事件,并输出日志信息。
阅读全文