发表于: 2017-10-19 18:58:19
1 796
今日完成:
在任务二加入切面打日志,但不能实现取出控制器的参数。
明日计划:
尝试多一下在切面中实现打印数据库操作详情在日志内,不行就在控制器内打印。
遇到的困难:
<bean id="controller" class="controllar.TheControl"/>
<context:component-scan base-package="controllar" />
在spring配置文件中,这两个不能重复,即一个类不能声明为bean两次,原因不知道,反正就是不行,即使是不调用也不可以。
在切面中用joinpoint来提取数据时只能提取数据地址,这样连数据的正确性都不能确定,看了一些方案都看不出来 ,明天继续尝试。
<bean id="controller" class="controllar.TheControl"/>
<bean id="logger" class="aop.AopLog"/>
<aop:config>
<aop:aspect id="time" ref="logger">
<aop:pointcut id="addAllMethod" expression="execution(* controllar.TheControl.*())" />
<aop:before method="beforeSqlact" pointcut-ref="addAllMethod" />
<aop:after method="afterSqlfind" pointcut-ref="addAllMethod" />
</aop:aspect>
</aop:config>
这个就是切面的配置文件,logger是用来打日志的切面类,controller是调用切面的控制器类,aspect定义切面(包含实现切面方法的类),pointcut定义切点(实行切面方法的位置),before、after、around什么的就是在这个切点调用时实现切面方法的时间点,在尝试通过切面方法把数据库操作的详细数据打印到日志时可以把调用此次切面的方法名提取出来,所以应该是可以取到这个方法的参数的,只是我还没找到方法。
进度:
任务二装修,已完成mybatis整合,准备进行aop装修
任务开始时间:2017.10.7
预计demo时间:2017.10.15
是否有延期风险:
预计10.20交。
禅道:http://task.ptteng.com/zentao/my-task.html
评论