Java tutorial
/******************************************************************************* * Copyright (c) 2015, 2016 104446930@qq.com * * Licensed under the Apache License, Version 2.0 (the "License"); *******************************************************************************/ package com.dcits.govsbu.southernbase.baseproject2.helper.aop; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.servlet.ModelAndView; import com.dcits.govsbu.southernbase.baseproject2.helper.AuthorityHelper; import com.dcits.govsbu.southernbase.baseproject2.helper.constants.AdminUrl; import com.dcits.govsbu.southernbase.baseproject2.helper.constants.Messages; /** * Title:AuthorityHelperAOP.java * Description:???? * Company: DigitalChina 2016 * @author: * @date:2016126 ?3:49:39 * */ @Aspect @Component public class AuthorityHelperAOP { @Autowired private AuthorityHelper authorityHelper; // @Pointcut("execution(* org.zhangmz.pickles.controller.admin..*(..)) " // + " and !execution(* org.zhangmz.pickles.controller.admin.AdminIndexController.(..))") // private void actionMethod() {} @Pointcut("execution(* com.dcits.govsbu.southernbase.baseproject2.controller.example..*(..)) ") private void actionMethod() { } // /** // * // * @Title: authorityBeforeService // * @Description: ????? // * @param token // * @throws // * : // * :2016126 ?3:55:56 // * ???? // * ?? // */ // @Before("execution(* org.zhangmz.pickles.controller.admin.AdminMainController.*(..)) && args(token,..)") // public void authorityBeforeService(String token){ // System.out.println ("???TOKEN==" + token); // authorityHelper.isAdmin(token); // } // // @After("execution(* org.zhangmz.pickles.controller.admin.AdminMainController.*(..)) && args(token,..)") // public void authorityAfterService(String token){ // System.out.println ("???TOKEN==" + token); // authorityHelper.isAdmin(token); // } @Around("actionMethod()") public Object authorityAroundService(ProceedingJoinPoint joinpoint) throws Throwable { ModelAndView result = null; try { // ? begin // long start = System.currentTimeMillis(); // ????TOKEN Object[] args = joinpoint.getArgs(); if (args.length > 0 && authorityHelper.isAdmin((String) args[0])) { // ???? TOKEN/mainInfo // return joinpoint.proceed(); result = ((ModelAndView) joinpoint.proceed()).addObject("token", args[0]); } else { result = new ModelAndView(AdminUrl.loginPage); result.addObject("message", Messages.USER_NOT_ADMIN); } // long end = System.currentTimeMillis(); // System.out.println("end! performance took " + (end-start) + " milliseconds"); // ? end } catch (Throwable e) { // e.printStackTrace(); result = new ModelAndView(AdminUrl.loginPage); result.addObject("message", Messages.AOP_HAS_ERROR); } return result; } }