当前位置: 首页 > news >正文

服装网站ui设计做游戏推广一个月能拿多少钱

服装网站ui设计,做游戏推广一个月能拿多少钱,营销最好的方法,本地搭载wordpress目录 自定义事件 事件监听器 事件发布者(服务层) 使用示例controller层 Spring源码分析之事件机制——观察者模式(一)-CSDN博客 Spring源码分析之事件机制——观察者模式(二)-CSDN博客 这两篇文章是这…

目录

自定义事件

事件监听器

事件发布者(服务层)

使用示例controller层


Spring源码分析之事件机制——观察者模式(一)-CSDN博客

Spring源码分析之事件机制——观察者模式(二)-CSDN博客

这两篇文章是这个篇章的前篇,感兴趣的读者可以阅读一下,从spring源码分析观察者模式

接下来说明一下Spring事件机制使用案例,就一个模拟用户注册场景的场景吧,事件机制其实还可以运用到更加广泛的作用。

说实话,个人感觉Spring事件机制真的好用。

自定义事件

public class UserRegisteredEvent extends ApplicationEvent {private final String username;private final String email;private final LocalDateTime registeredTime;public UserRegisteredEvent(Object source, String username, String email) {super(source);this.username = username;this.email = email;this.registeredTime = LocalDateTime.now();}// getter方法public String getUsername() {return username;}public String getEmail() {return email;}public LocalDateTime getRegisteredTime() {return registeredTime;}
}

事件监听器

@Component
@Order(1)  // 定义监听器执行顺序
public class EmailNotificationListener implements ApplicationListener<UserRegisteredEvent> {private final EmailService emailService;@Autowiredpublic EmailNotificationListener(EmailService emailService) {this.emailService = emailService;}@Overridepublic void onApplicationEvent(UserRegisteredEvent event) {// 发送欢迎邮件emailService.sendWelcomeEmail(event.getEmail(), event.getUsername());log.info("Welcome email sent to user: {}", event.getUsername());}
}
@Component
@Order(2)
public class UserCacheListener implements ApplicationListener<UserRegisteredEvent> {private final CacheManager cacheManager;@Autowiredpublic UserCacheListener(CacheManager cacheManager) {this.cacheManager = cacheManager;}@Overridepublic void onApplicationEvent(UserRegisteredEvent event) {// 更新用户缓存cacheManager.putUserCache(event.getUsername());log.info("User cache updated for: {}", event.getUsername());}
}

事件发布者(服务层)

@Service
@Transactional
public class UserService {private final UserRepository userRepository;private final ApplicationEventPublisher eventPublisher;@Autowiredpublic UserService(UserRepository userRepository, ApplicationEventPublisher eventPublisher) {this.userRepository = userRepository;this.eventPublisher = eventPublisher;}public User registerUser(String username, String email, String password) {// 验证用户数据validateUserData(username, email, password);// 创建用户User user = new User(username, email, password);user = userRepository.save(user);// 发布用户注册事件eventPublisher.publishEvent(new UserRegisteredEvent(this, username, email));log.info("User registered and event published: {}", username);return user;}private void validateUserData(String username, String email, String password) {// 数据验证逻辑}
}

使用示例controller层

@RestController
@RequestMapping("/api/users")
public class UserController {private final UserService userService;@Autowiredpublic UserController(UserService userService) {this.userService = userService;}@PostMapping("/register")public ResponseEntity<UserDTO> registerUser(@RequestBody UserRegistrationRequest request) {User user = userService.registerUser(request.getUsername(),request.getEmail(),request.getPassword());return ResponseEntity.ok(UserDTO.fromUser(user));}
}

用户注册时,UserService发布UserRegisteredEvent事件,EmailNotificationListener同步处理邮件发送,UserCacheListener同步更新缓存,AsyncAnalyticsListener异步处理统计数据,通过@Order注解控制监听器执行顺序。

这种实现方式将用户注册的核心逻辑与后续的处理操作解耦,使得系统更容易维护和扩展。每个监听器都专注于自己的职责,可以独立地添加、移除或修改,而不会影响其他部分的代码。

http://www.tj-hxxt.cn/news/76120.html

相关文章:

  • 高端网站网站设计b站推广费用一般多少
  • 做网站要用到数据库吗百度排名工具
  • seo网站推广专员招聘seo优化排名公司
  • 北京市住建委官网南京seo排名扣费
  • 深圳公安门户网站官网长春网络推广优化
  • 自媒体平台注册入口在哪seo经典案例
  • 网页制作网站素材能打开各种网站的浏览器下载
  • 给别人做网站的销售叫什么软件郑州seo网站关键词优化
  • 网站如何做区域屏蔽代码网络舆情案例分析
  • 网站开发web服务器控件实验报告seo教程培训
  • 培训网站计时怎么破千锋教育怎么样
  • 做网站简单的软件全球最大的磁力搜索引擎
  • 手机网站开发教程视频上海短视频培训机构
  • 唐山做企业网站公司百度入口网页版
  • 帝国cms主题网站seo优化效果
  • wordpress for android建站seo推广
  • 亿级别网站开发注意鹤壁seo公司
  • 怎么注册公司企业邮箱seo 是什么
  • 2018建设网站郑州seo顾问阿亮
  • 做的网站没有手机版十大免费网站推广平台有哪些
  • 营销型网站建设sempk百度网盘登录入口
  • 行业网站怎么做百度seo怎么样优化
  • 菜谱网站模版推广链接点击器app
  • 怎么用织梦搭建网站搜索推广开户
  • 巴中做网站 微信开发哪里有网站推广优化
  • 凡科网和wordpressseo优
  • 网站开发和运营维护全国十大跨境电商排名
  • 自助seo网站建设我要安装百度
  • 南京微信网站建设黑锋网seo
  • 模板网站建设公司网站交换链接的常见形式