多个参数的SQL语句操作:@Param
SSM AOP 日志
在controller层下创建一个class,写上AOP的切面注解,以及表明他是一配置类
前置通知 主要是获取开始时间,访问的类是哪一个,访问的是哪一个方法
通过JP可以获取方法的名称 和 参数,不能直接获取方法。我们只能根据获取的参数和方法名去构造方法
获取访问的URL:就是类上的注解 @RequestMappring 加上方法上的 @RequestMappring注解的value
//后置通知
@After("execution(* com.atshiyou.ssm.controller.*.*(..))")
public void doAfter(JoinPoint jp) throws Exception {
// 获取执行的时长
long time = (new Date().getTime() - visitTime.getTime()); //获取访问的时长 单位(s)
String url ="";
//获取URL,获取注解的操作
if(clazz!=null&&clazz!=LogAOP.class&&method!=null){
//1.如何获取"类"上的 @RequestMapping("/orders")
RequestMapping classAnnotation = (RequestMapping) clazz.getAnnotation(RequestMapping.class);//反射
if(classAnnotation != null){
String[] classValue = classAnnotation.value();
//获取 方法 上的@RequestMapping("/xxx")
RequestMapping methodAnnotation = method.getAnnotation(RequestMapping.class);
if(methodAnnotation != null){
String[] methodValue = methodAnnotation.value();
url = classValue[0] + methodValue[0];
获取访问的IP地址
需要增加一个request的监听器
//获取访问的IP地址:通过request对象 ,需要在web.xml中配置spring框架提供的listener :RequestContextListener String ip = request.getRemoteAddr();
获取操作者