AOP一直无效,如何如何设置都不生效,困扰了一天,终于可以了,特此说明一下,但不代表我理解的就是正确的。
环境: springmvc + maven 基于注解的配置方式
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1088 2016-06-28 09:42 AopTest Maven Webapp.classpath
文件 1521 2016-06-28 09:52 AopTest Maven Webapp.project
文件 530 2016-06-28 09:33 AopTest Maven Webapp.settings.jsdtscope
文件 430 2016-06-28 09:33 AopTest Maven Webapp.settingsorg.eclipse.jdt.core.prefs
文件 90 2016-06-28 09:33 AopTest Maven Webapp.settingsorg.eclipse.m2e.core.prefs
文件 863 2016-06-28 09:40 AopTest Maven Webapp.settingsorg.eclipse.wst.common.component
文件 296 2016-06-28 09:33 AopTest Maven Webapp.settingsorg.eclipse.wst.common.project.facet.core.xml
文件 49 2016-06-28 09:33 AopTest Maven Webapp.settingsorg.eclipse.wst.jsdt.ui.superType.container
文件 6 2016-06-28 09:33 AopTest Maven Webapp.settingsorg.eclipse.wst.jsdt.ui.superType.name
文件 3036 2016-06-28 14:18 AopTest Maven Webapppom.xml
文件 4314 2016-06-28 14:57 AopTest Maven WebappsrcmainjavacomaopAspectstyle.java
文件 779 2016-06-28 09:50 AopTest Maven WebappsrcmainjavacomwlxcontrollerTestController.java
文件 1073 2016-06-27 16:44 AopTest Maven Webappsrcmain
esourceslog4j.properties
文件 2998 2016-06-28 11:43 AopTest Maven Webappsrcmain
esourcesspring-mvc.xml
文件 693 2016-06-28 10:50 AopTest Maven Webappsrcmain
esourcesspring.xml
文件 780 2016-06-28 10:05 AopTest Maven Webappsrcmainwebappindex.jsp
文件 968 2016-06-28 09:52 AopTest Maven WebappsrcmainwebappWEB-INF est.jsp
文件 2356 2016-06-28 09:49 AopTest Maven WebappsrcmainwebappWEB-INFweb.xml
文件 780 2016-06-28 10:05 AopTest Maven Webapp argetAopTestindex.jsp
文件 4768 2016-06-28 14:26 AopTest Maven Webapp argetAopTestWEB-INFclassescomaopAspectstyle.class
文件 1421 2016-06-28 14:26 AopTest Maven Webapp argetAopTestWEB-INFclassescomwlxcontrollerTestController.class
文件 665 2016-06-28 14:25 AopTest Maven Webapp argetAopTestWEB-INFclasses
ebel.xml
文件 2998 2016-06-28 14:25 AopTest Maven Webapp argetAopTestWEB-INFclassesspring-mvc.xml
文件 693 2016-06-28 14:25 AopTest Maven Webapp argetAopTestWEB-INFclassesspring.xml
文件 2029794 2016-06-28 10:36 AopTest Maven Webapp argetAopTestWEB-INFlibant-1.9.6.jar
文件 18392 2016-06-28 10:35 AopTest Maven Webapp argetAopTestWEB-INFlibant-launcher-1.9.6.jar
文件 4467 2016-05-08 21:28 AopTest Maven Webapp argetAopTestWEB-INFlibaopalliance-1.0.jar
文件 53468 2016-06-28 10:35 AopTest Maven Webapp argetAopTestWEB-INFlibasm-5.1.jar
文件 117528 2016-06-28 10:14 AopTest Maven Webapp argetAopTestWEB-INFlibaspectjrt-1.8.9.jar
文件 1864922 2016-06-28 10:18 AopTest Maven Webapp argetAopTestWEB-INFlibaspectjweaver-1.8.9.jar
............此处省略71个文件信息
package com.aop;
import java.lang.reflect.Method;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.google.gson.Gson;
@Component
@Aspect
public class Aspectstyle {
private final Logger logger = Logger.getLogger(this.getClass());
private String requestPath = null; // 请求地址
private String userName = null; // 用户名
private Map ?> inputParamMap = null; // 传入参数
private Mapject> outputParamMap = new HashMapject>(); // 存放输出结果
private long startTimeMillis = 0; // 开始时间
private long endTimeMillis = 0; // 结束时间
private Method exeMethod = null; //执行的方法名
private HttpSession session;
@Pointcut(“execution(* com.wlx.controller..*.*(..))“)
public void init() {
System.out.println(“***init不会执行“);
}
@Before(value = “init()“)
public void before() {
this.startTimeMillis = System.currentTimeMillis(); // 记录方法开始执行的时间
System.out.println(“方法执行前执行.....“);
}
@AfterReturning(value = “init()“)
public void afterReturning() {
System.out.println(“方法执行完执行.....“);
}
@AfterThrowing(value = “init()“)
public void throwss() {
System.out.println(“方法异常时执行.....“);
}
@After(value = “init()“)
public void after() {
this.endTimeMillis = System.currentTimeMillis(); // 记录方法执行完成的时间
this.printOptLog();
System.out.println(“方法最后执行.....“);
}
@Around(value = “init()“)
public object around(ProceedingJoinPoint pjp) {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
HttpServletRequest request = sra.getRequest();
session = request.getSession();
// 从session中获取用户信息
String loginInfo = (String) session.getAttribute(“username“);
if (loginInfo != null && !““.equals(loginInfo)) {
userName = “admin“;
} else {
userName = “用户未登录“;
}
this.inputParamMap = request.getParameterMap();
// 获取请求地址
this.requestPath = request.getRequestURI();
Method method = ((MethodSignature) pjp.getSignature()).getMethod();
this.exeMethod = method;
System.out.println(“==方法环绕开始“);
object o = null;
try {
o = pjp.proceed();
this.out
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1088 2016-06-28 09:42 AopTest Maven Webapp.classpath
文件 1521 2016-06-28 09:52 AopTest Maven Webapp.project
文件 530 2016-06-28 09:33 AopTest Maven Webapp.settings.jsdtscope
文件 430 2016-06-28 09:33 AopTest Maven Webapp.settingsorg.eclipse.jdt.core.prefs
文件 90 2016-06-28 09:33 AopTest Maven Webapp.settingsorg.eclipse.m2e.core.prefs
文件 863 2016-06-28 09:40 AopTest Maven Webapp.settingsorg.eclipse.wst.common.component
文件 296 2016-06-28 09:33 AopTest Maven Webapp.settingsorg.eclipse.wst.common.project.facet.core.xm
文件 49 2016-06-28 09:33 AopTest Maven Webapp.settingsorg.eclipse.wst.jsdt.ui.superType.container
文件 6 2016-06-28 09:33 AopTest Maven Webapp.settingsorg.eclipse.wst.jsdt.ui.superType.name
文件 3036 2016-06-28 14:18 AopTest Maven Webapppom.xm
文件 4314 2016-06-28 14:57 AopTest Maven WebappsrcmainjavacomaopAspectst
文件 779 2016-06-28 09:50 AopTest Maven WebappsrcmainjavacomwlxcontrollerTestController.java
文件 1073 2016-06-27 16:44 AopTest Maven Webappsrcmain
esourceslog4j.properties
文件 2998 2016-06-28 11:43 AopTest Maven Webappsrcmain
esourcesspring-mvc.xm
文件 693 2016-06-28 10:50 AopTest Maven Webappsrcmain
esourcesspring.xm
文件 780 2016-06-28 10:05 AopTest Maven Webappsrcmainwebappindex.jsp
文件 968 2016-06-28 09:52 AopTest Maven WebappsrcmainwebappWEB-INF est.jsp
文件 2356 2016-06-28 09:49 AopTest Maven WebappsrcmainwebappWEB-INFweb.xm
文件 780 2016-06-28 10:05 AopTest Maven Webapp argetAopTestindex.jsp
文件 4768 2016-06-28 14:26 AopTest Maven Webapp argetAopTestWEB-INFclassescomaopAspectst
文件 1421 2016-06-28 14:26 AopTest Maven Webapp argetAopTestWEB-INFclassescomwlxcontrollerTestController.class
文件 665 2016-06-28 14:25 AopTest Maven Webapp argetAopTestWEB-INFclasses
ebel.xm
文件 2998 2016-06-28 14:25 AopTest Maven Webapp argetAopTestWEB-INFclassesspring-mvc.xm
文件 693 2016-06-28 14:25 AopTest Maven Webapp argetAopTestWEB-INFclassesspring.xm
文件 2029794 2016-06-28 10:36 AopTest Maven Webapp argetAopTestWEB-INFlibant-1.9.6.jar
文件 18392 2016-06-28 10:35 AopTest Maven Webapp argetAopTestWEB-INFlibant-launcher-1.9.6.jar
文件 4467 2016-05-08 21:28 AopTest Maven Webapp argetAopTestWEB-INFlibaopalliance-1.0.jar
文件 53468 2016-06-28 10:35 AopTest Maven Webapp argetAopTestWEB-INFlibasm-5.1.jar
文件 117528 2016-06-28 10:14 AopTest Maven Webapp argetAopTestWEB-INFlibaspectjrt-1.8.9.jar
文件 1864922 2016-06-28 10:18 AopTest Maven Webapp argetAopTestWEB-INFlibaspectjweaver-1.8.9.jar
............此处省略71个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)