开源项目-OneBlog-学习笔记-01

开源项目地址:https://gitee.com/yadong.zhang/DBlog?_from=gitee_search

本项目不是前后端分离的开发模式

项目架构

blog-core 服务业务类核心模块,提供基本的数据操作、工具处理

blog-admin 后台管理模块

blog-web 前台登录写作模块

blog-file 文件存储功能模块

 

研究本项目的目的:学习一下开源博客如何编写,有助于以后自行搭建博客

深入掌握一些常用的后端技术栈

 

一、blog-core部分

AOP概念 面向切面编程

AOP是OOP的衍生概念,因为OOP是每个模块独立的,低耦合高内聚,而涉及到每个模块公有的部分的时候,代码就很难做到高度复用,面向切面编程就是将这部分的代码单独拿出来作为一个切面模块,在Spring的编译过程时分别注入。

 

 AOP中存在的相关概念

Aspect(切面): Aspect 声明类似于 Java 中的类声明,在 Aspect 中会包含着一些 Pointcut 以及相应的 Advice。
Joint point(连接点):表示在程序中明确定义的点,典型的包括方法调用,对类成员的访问以及异常处理程序块的执行等等,它自身还可以嵌套其它 joint point。
Pointcut(切点):表示一组 joint point,这些 joint point 或是通过逻辑关系组合起来,或是通过通配、正则表达式等方式集中起来,它定义了相应的 Advice 将要发生的地方。
Advice(增强):Advice 定义了在 Pointcut 里面定义的程序点具体要做的操作,它通过 before、after 和 around 来区别是在每个 joint point 之前、之后还是代替执行的代码。
Target(目标对象):织入 Advice 的目标对象.。
Weaving(织入):将 Aspect 和其他对象连接起来, 并创建 Adviced object 的过程

简单理解就是

Aspect是一个模组,它由三部分Joint point、Pointcut、Advice组成,而Joint point是指可能被织入Advice的点,就是这个切面上可以被增强的接口,而Pointcut则是被匹配的Joint point 就是被实际剪切下来的对象,而Advice是对这些对象进行的增强操作,即我们要书写的函数逻辑。

 

 

posted on 2021-06-22 17:39  KannoRi  阅读(173)  评论(0)    收藏  举报