资源简介
AOP一直无效,如何如何设置都不生效,困扰了一天,终于可以了,特此说明一下,但不代表我理解的就是正确的。
环境: springmvc + maven 基于注解的配置方式
代码片段和文件信息
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\.settings\org.eclipse.jdt.core.prefs
文件 90 2016-06-28 09:33 AopTest Maven Webapp\.settings\org.eclipse.m2e.core.prefs
文件 863 2016-06-28 09:40 AopTest Maven Webapp\.settings\org.eclipse.wst.common.component
文件 296 2016-06-28 09:33 AopTest Maven Webapp\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2016-06-28 09:33 AopTest Maven Webapp\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2016-06-28 09:33 AopTest Maven Webapp\.settings\org.eclipse.wst.jsdt.ui.superType.name
文件 3036 2016-06-28 14:18 AopTest Maven Webapp\pom.xm
文件 4314 2016-06-28 14:57 AopTest Maven Webapp\src\main\java\com\aop\Aspectst
文件 779 2016-06-28 09:50 AopTest Maven Webapp\src\main\java\com\wlx\controller\TestController.java
文件 1073 2016-06-27 16:44 AopTest Maven Webapp\src\main\resources\log4j.properties
文件 2998 2016-06-28 11:43 AopTest Maven Webapp\src\main\resources\spring-mvc.xm
文件 693 2016-06-28 10:50 AopTest Maven Webapp\src\main\resources\spring.xm
文件 780 2016-06-28 10:05 AopTest Maven Webapp\src\main\webapp\index.jsp
文件 968 2016-06-28 09:52 AopTest Maven Webapp\src\main\webapp\WEB-INF\test.jsp
文件 2356 2016-06-28 09:49 AopTest Maven Webapp\src\main\webapp\WEB-INF\web.xm
文件 780 2016-06-28 10:05 AopTest Maven Webapp\target\AopTest\index.jsp
文件 4768 2016-06-28 14:26 AopTest Maven Webapp\target\AopTest\WEB-INF\classes\com\aop\Aspectst
文件 1421 2016-06-28 14:26 AopTest Maven Webapp\target\AopTest\WEB-INF\classes\com\wlx\controller\TestController.class
文件 665 2016-06-28 14:25 AopTest Maven Webapp\target\AopTest\WEB-INF\classes\rebel.xm
文件 2998 2016-06-28 14:25 AopTest Maven Webapp\target\AopTest\WEB-INF\classes\spring-mvc.xm
文件 693 2016-06-28 14:25 AopTest Maven Webapp\target\AopTest\WEB-INF\classes\spring.xm
文件 2029794 2016-06-28 10:36 AopTest Maven Webapp\target\AopTest\WEB-INF\lib\ant-1.9.6.jar
文件 18392 2016-06-28 10:35 AopTest Maven Webapp\target\AopTest\WEB-INF\lib\ant-launcher-1.9.6.jar
文件 4467 2016-05-08 21:28 AopTest Maven Webapp\target\AopTest\WEB-INF\lib\aopalliance-1.0.jar
文件 53468 2016-06-28 10:35 AopTest Maven Webapp\target\AopTest\WEB-INF\lib\asm-5.1.jar
文件 117528 2016-06-28 10:14 AopTest Maven Webapp\target\AopTest\WEB-INF\lib\aspectjrt-1.8.9.jar
文件 1864922 2016-06-28 10:18 AopTest Maven Webapp\target\AopTest\WEB-INF\lib\aspectjweaver-1.8.9.jar
............此处省略71个文件信息
- 上一篇:金油客户端.rar
- 下一篇:S3C2440A 中文手册
相关资源
- mybatis+spring+springmvc+easyui做的一个登陆
- 在idea下使用maven构建spring+springMVC+hi
- SSH选课系统入门学习
- 基于Struts2、hibernate、spring实现的新闻
- spring3+hibernate4+struts2 ssh
-
spring操作hba
se - Qt之模型/视图实时更新数据
- springboot个人微博开发项目
-
spring-fr
amework-3.0.5.RELEASE-with-docs.zi - 生成mybatis代码等
- 基于SSM航空票务系统
- spring in action 第四版 中文 高清完整
- 图书管理系统SpringMvc+mybatis
- ssm框架的缺陷管理系统
- hibernate+struts+spring 基于SSH设计的酒店
- 北京动力节点-北京动力节点 Reyco郭
- 基于ssm框架的人事管理系统
- 深入浅出Spring Boot 2.x 图书配套源码
- IDEA下maven管理的SSH框架 spring4 + stru
- .net教务管理系统
- springboot rabbitmq 模拟高并发秒杀系统
- 人脸识别登录注册
- 基于Springboot+Mybatis打造接口自动化测
- The Elements of Statistical Learning Springer
- mvc weui上传文件完整demo
- my-start-spring-io.rar
- SSM框架-志愿者服务中心展示系统
- Spring 4.1.3 API.高清完整chm
- spring security3 完整
- SSH1框架搭建
评论
共有 条评论