实体类
package com.zhk.demo.entity;
import lombok.Data;
@Data
public class User
{
//用户名
private String name;
}
event
package com.zhk.demo.event;
import com.zhk.demo.entity.User;
import lombok.Getter;
import org.springframework.context.ApplicationEvent;
@Getter
public class UserEvent extends ApplicationEvent
{
//注册用户对象
private User user;
public UserEvent(Object source,User user) {
super(source);
this.user = user;
}
}
listener
package com.zhk.demo.listener;
import com.zhk.demo.entity.User;
import com.zhk.demo.event.UserEvent;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
@Component
public class AnnotationRegisterListener {
@EventListener
public void listener(UserEvent userEvent) {
User user = userEvent.getUser();
System.out.println(user.getName());
}
}
controller
package com.zhk.demo.controller;
import com.zhk.demo.entity.User;
import com.zhk.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
//用户业务逻辑实现
@Autowired
private UserService userService;
@RequestMapping(value = "/insert")
public String insert(User user) {
userService.register(user);
return "注册成功.";
}
}
通过实现类完成监听
将上方注解方式替换成实现类
package com.zhk.demo.listener; import com.zhk.demo.entity.User; import com.zhk.demo.event.UserEvent; import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; @Component public class Userlistener implements ApplicationListener{ @Override public void onApplicationEvent(UserEvent event) { User user = event.getUser(); System.out.println(user.getName()); } }



