发表于: 2018-02-11 23:43:55

0 685


今日完成:

1.       编写aop在控制台打印java类执行时间

pom文件添加aop依赖

<!-- AOP -->
<dependency>
    <groupId>
org.aspectj</groupId>
    <artifactId>
aspectjrt</artifactId>
    <version>
1.8.13</version>
</dependency>

<dependency>
    <groupId>
org.aspectj</groupId>
    <artifactId>
aspectjweaver</artifactId>
    <version>
1.8.13</version>
</dependency>

springcontext文件开启@Aspect注解,必须和需要AOP的类的bean扫描在同一个xml

<!-- 启用 @Aspect -->
<aop:aspectj-autoproxy  proxy-target-class="true"/>

注意需要添加

xmlns:aop="http://www.springframework.org/schema/aop"

http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">

添加AOP

@Aspect
@Component
public class LoggerAspect {
   
//java自带的log日志
   
private final Logger logger = Logger.getLogger("DB_Controller");
   
   
@Pointcut("execution(* com.myitschool.controller.*.*(..))")
   
private void controller(){}

   
@Around("controller()")
   
public Object controllerTime(ProceedingJoinPoint pjp) throws Throwable {
        String className = pjp.getSignature().getName()
;
        long
startT = System.currentTimeMillis();
       
Object re = pjp.proceed();
        long
time = System.currentTimeMillis() - startT;
       
logger.info(logger.getName() + " " + className + " " + time);
       
System.out.println(logger.getName() + " " + className + " " + time);
        return
re; //有返回值必须
   
}

}

2.       修改resinrein.xml文件,获取stdout日志

                                             

输出的日志

3.       编写shell文件统计访问controller时间

输出结果

明日计划:

1.       多次测试记录访问DB和执行controller时间

2.       尝试使用jmeter重复测试

3.       整理任务三并提交

遇到的问题:

1.       linux中使用压缩包通过makemake install安装的软件,解压包可以删除吗,貌似没什么用了,被这个压缩包误导了,做了很多操作,浪费太多时间

收获:

1.       学习AOP,面向切面编程

2.       shell对日志进行分析,非常强大的脚本

3.       使用xhellxftp



返回列表 返回列表
评论

    分享到