Spring拓展接口和注解的使用记录

4 篇文章 0 订阅
2 篇文章 0 订阅

Spring拓展接口之-1

ApplicationContext.publishEvent() 发布事件
ApplicationEvent--用来承载真正处理的数据对象
@EventListener(ApiLogEvent.class)  配合这个注解进行事件的真正处理触发


此拓展作用适用于异步解耦操作:如 记录操作日志,记录错误日志等,封装到底层,在我们的业务服务里剩一个存储日志的接口即可。
HandlerMethodArgumentResolver--springmvc用来解析参数并绑定入参的接口
实现此类并拓展方法
/**
	 * 出参设置
	 *
	 * @param methodParameter       入参集合
	 * @param modelAndViewContainer model 和 view
	 * @param nativeWebRequest      web相关
	 * @param webDataBinderFactory  入参解析
	 * @return 包装对象
	 */
	@Override
	public Object resolveArgument(MethodParameter methodParameter,
								  ModelAndViewContainer modelAndViewContainer,
								  NativeWebRequest nativeWebRequest,
								  WebDataBinderFactory webDataBinderFactory) {
		return AuthUtil.getUser();
	}

在所有的控制器方法中都可以直接用对应返回的对象类型进行接收,用来解决前端传输token后网关认证完解析,直接将解析后的用户信息绑定到入参,直接进行使用,而不用再传别的用户信息参数。
ControllerAdvice @RestControllerAdvice
配合@ExceptionHandler(ServiceException.class)
完成统一异常处理的操作,针对固定的异常类型进行友好返回提示

零散记录用到的spring拓展接口和注解,以后写底层可能会经常用到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值