摘要: 基于XML的AOP 准备工作 参考基于注解的AOP环境 实现 在 .xml 文件中对 AOP 进行配置 <context:component-scan base-package="com.atguigu.aop.xml"></context:component-scan> <aop:config> 阅读全文
posted @ 2023-02-07 17:24 LaViez 阅读(24) 评论(0) 推荐(0)
摘要: ### 基于注解的AOP #### 技术说明 ![](https://img2023.cnblogs.com/blog/2535382/202302/2535382-20230207172247264-2059763514.png) ![](https://img2023.cnblogs.com/b 阅读全文
posted @ 2023-02-07 17:24 LaViez 阅读(69) 评论(0) 推荐(0)
摘要: AOP概念及相关术语 概述 AOP(Aspect Oriented Programming)是一种设计思想,是软件设计领域中的面向切面编程,它是面向对象编程的一种补充和完善,它以通过预编译方式和运行期动态代理方式实现,在不修改源代码的情况下,给程序动态统一添加额外功能的一种技术。利用AOP可以对业务 阅读全文
posted @ 2023-02-07 17:09 LaViez 阅读(56) 评论(0) 推荐(0)
摘要: 提出问题 ①现有代码缺陷 针对带日志功能的实现类,我们发现有如下缺陷: 对核心业务功能有干扰,导致程序员在开发核心业务功能时分散了精力 附加功能分散在各个业务功能方法中,不利于统一维护 ②解决思路 解决这两个问题,核心就是:解耦。我们需要把附加功能从业务功能代码中抽取出来。 ③困难 解决问题的困难: 阅读全文
posted @ 2023-02-07 17:00 LaViez 阅读(31) 评论(0) 推荐(0)
摘要: 属性注入 @Di 在 AnnotationApplicationContext 的构造方法中调用 loadDi 方法 //属性注入 private void loadDi() { //实例化对象都是在 beanFactory 的map集合中 //1 遍历 beanFactory 的 map集合 Se 阅读全文
posted @ 2023-02-07 14:43 LaViez 阅读(42) 评论(0) 推荐(0)
摘要: 创建注解类 @Bean @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Bean { } 创建扫描包以及子包、解析注解的 ApplicationContext接口 public inter 阅读全文
posted @ 2023-02-07 14:42 LaViez 阅读(24) 评论(0) 推荐(0)
摘要: 手写IoC 第一步 创建子模块 guigu-spring 第二步 创建测试类 service dao 第三步 创建两个注解 @Bean 创建对象 @Di 属性注入 第四步 创建bean容器接口 ApplicationContext 定义方法,返回对象 第五步 实现bean容器 返回对象 根据包规则加 阅读全文
posted @ 2023-02-07 14:41 LaViez 阅读(20) 评论(0) 推荐(0)