ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
`切面(Aspect)`: 由横切关注点构成的特殊对象。 `通知(Advice)`: 切面必须要完成的工作。 `目标(Target)`: 被通知的对象。 `代理(Proxy)`: 向目标对象应用通知之后创建的对象。 `连接点(Joinpoint)`: 程序执行的某个特定位置。某个方法调用前、调用后、方法抛出异常后等。 `切点(pointcut)`:每个类都拥有多个连接点。 ClientServiceImpl中所有的方法都是切点。AOP通过切点定位到特定的连接点。类比:连接点相当于数据库中的记录,切点相当于查询条件。切点和连接点不是一对一的关系,一个切点匹配多个连接点,切点通过 org.springframework.aop.Pointcut 接口进行描述,它使用类和方法作为连接点的查询条件。 简单来说:Advice定义了切面要发生“故事”和时间,那么切入点就定义了“故事”发生的地点。例如某个类或者方法名,Spring中允许我们使用正则来指定 `织入(Weaving)`:将增强添加到目标类具体连接点上的过程。AOP有三种织入的方式:编译期织入、类装载期织入、动态代理织入(spring采用动态代理织入)