发表于: 2018-03-17 14:35:59
1 588
今天完成的事:
1.AOP思想及SpringAOP的使用
AOP的意思是面向切面编程,英文全称是Aspect Oriented Programming,它使开发人员可以更好的将本不该彼此粘合在一起的功能分离开。
AOP利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其名为“Aspect”,即方面。所谓“方面”,简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。
因为Spring基于动态代理,所以SpringAop不支持在编译器和和类加载器进行织入,而只支持运行期在方法连接点上进行织入。(织入就是把切面应用到目标对象并创建新的代理对象的过程,切面在指定的连接点被织入到目标对象中)
下面是一个简单的SpringAop的Demo
目前只做了统计访问数据库的时间:
2.用脚本统计出了ip访问次数以及请求延时,但是不能很好的统一它们。
明天要做的事:
1.完成对Controller的时间统计。
2.继续任务二的深度思考。
遇到的问题:
1.tomcat启动成功,却不能正常访问(一直显示正在连接),关闭tomcat时却显示提示tomcat可能并未启动。
于是又启动了一次,Tomcat Started!依然不能访问。又启动...
ps -ef|grep tomcat 赫然有三个tomcat在启动中,却不能使用。
重启服务器,查看server.xml,查看启动日志都没有发现问题。
最后,经过一次比较长时间的连接等待后进入了tomcat主页,随后tomcat莫名其妙正常了,访问速度也恢复的很快了....
我只能理解为服务器或者tomcat抽风!
2.使用AOP的环绕通知时,没有注意返回结果类型需要与被通知的业务功能返回类型一致。
收获:
1.了解面向切面编程的术语,学会简单使用SpringAOP。
2.了解了Maven的model
评论