最近感觉没有干劲,强逼着自己每天无论怎样一定的要日记打卡。
首先,先说说自己的状态吧,感觉迷迷茫茫的不知道接下来将要做什么,内心明明知道有许多事情需要去做但就是懒的不想动;所以内心才会这么痛苦!
看了一篇关于技术笔记的文章,说一天不进行一次总结总会感觉好像没有学到什么东西一样,深有这样的感觉,也是我觉得必须强制自己进行日记打卡一样,这样感觉好像对一些东西又有些深入的了解。无论写的多烂还是怎么,下的决心不能变!!哎,总有一种完成任务的感觉,好像自己没得救了。
好了,今天浑浑噩噩的学习了关于IOC以及AOP的概念。
1、IOC
IOC:inversion of control,即控制反转。在程序中一般的都是通过new来主动的创建对象,而控制反转指的就是将创建对象的这种权力交给IOC容器来管理。
2、AOP
AOP:Aspect oriented programming,即面向切面编程。指的是剖解开封装对象的内部,将影响多个类的公共行为进行封装成一个可重用模块。其包含两个部分:核心关注点和切面关注点。
核心关注点:即业务处理的主要流程
切面关注点:即多次发生在核心关注点上,且各处都非常相似。比如日志、权限认证、事物等。
3、AOP概念
- 横切关注点:
即对什么方法进行拦截,拦截之后进行怎样的处理。
- 切面(Aspect):
类是对物体特征的抽象,切面就是对横切关注点的抽象。
- 连接点(joinpoint)
被拦截到的点,如方法、字段、构造器。
- 切入点(poincut)
对连接点进行拦截的定义。
- 通知(advice)
拦截到连接点之后需要执行的代码。前置、后置、异常、最终、环绕。
- 目标对象
代理的目标对象。
- 织入(weave)
将切面应用到目标对象并导致代理对象创建的过程。
- 引入(introduction)
在不修改代码的情况下,运行期动态的为类添加一些方法或字段。
3、Spring对AOP的支持。
- 通过JDK动态代理来实现,这样可以通过为任意接口实例创建代理。
- 当需要代理的对象不是接口,spring则通过CGLIB代理。
每天坚持写!!!这是我目前的一个小小的目标!!!