{ "node_id": "569d5e11c4fc5de7844053d9a733c5e8", "keywords": [], "children": [ { "一个简单的约定游戏": { "keywords": [], "children": [ { "约定规则": { "keywords": [], "children": [] } }, { "读者的代码": { "keywords": [], "children": [] } }, { "笔者的代码": { "keywords": [], "children": [] } } ] } }, { "Spring AOP的基本概念": { "keywords": [], "children": [ { "AOP的概念和使用原因": { "keywords": [], "children": [] } }, { "面向切面编程的术语": { "keywords": [], "children": [] } }, { "Spring对AOP的支持": { "keywords": [], "children": [] } } ] } }, { "使用@AspectJ注解开发Spring AOP": { "keywords": [], "children": [ { "选择切点": { "keywords": [], "children": [] } }, { "创建切面": { "keywords": [], "children": [] } }, { "连接点": { "keywords": [], "children": [] } }, { "测试AOP": { "keywords": [], "children": [ { "装配AOP": { "keywords": [], "children": [] } }, { "使用注解装配AOP": { "keywords": [], "children": [] } }, { "AOP避坑指南": { "keywords": [], "children": [] } } ] } }, { "环绕通知": { "keywords": [], "children": [] } }, { "织入": { "keywords": [], "children": [] } }, { "给通知传递参数": { "keywords": [], "children": [] } }, { "引入": { "keywords": [], "children": [] } } ] } }, { "使用XML配置开发Spring AOP": { "keywords": [], "children": [ { "前置通知、后置通知、返回通知和异常通知": { "keywords": [], "children": [] } }, { "环绕通知": { "keywords": [], "children": [] } }, { "给通知传递参数": { "keywords": [], "children": [] } }, { "引入": { "keywords": [], "children": [] } } ] } }, { "经典Spring AOP应用程序": { "keywords": [], "children": [] } }, { "多个切面": { "keywords": [], "children": [] } } ], "export": [] }