星空网 > 软件开发 > Java

利用Spring AOP机制拦截方法一例

直接上代码:

@Aspect  // for aop@Component // for auto scan@Order(0) // execute before @Transactionalpublic class MessageInterceptor {    @Autowired  private UserService    userService;    private static Logger logger = LoggerFactory.getLogger(MessageInterceptor.class);     @Pointcut("execution(public * com.diantusoft.wx.mapper.MymessageMapper.insert(..))")  public void messageInsertAspect(){        }    //@Before("messageInsertAspect()")  @After("messageInsertAspect()")  public void messageInsert(JoinPoint joinPoint) {    if(joinPoint.getArgs() != null){      Mymessage message = (Mymessage) joinPoint.getArgs()[0];      logger.debug(JSON.toJSONString(message));      // .....

try { sendMyMessageNotice(token, message); // 发送审核通过消息 } catch (IOException e) { e.printStackTrace(); logger.debug(e.toString()); } } }

拦截方法:com.diantusoft.wx.mapper.MymessageMapper.insert(Mymessage message)

插入消息记录之后,马上推送消息。

配置:

spring配置文件中加入扫描:

<context:component-scan base-package="com.xxxx.wx.service, com.xxxx.wx.aop" />

 

com.xxxx.wx.aop 这个是MessageInterceptor 所在的包。

So easy, and so powerfull.

 

注:还有一个问题没有考虑,如果插入数据到数据中时失败了,**会怎么样呢?是否会推送消息呢?后面再来考虑和完善。




原标题:利用Spring AOP机制拦截方法一例

关键词:Spring

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流