
Spring
凡星429
记录学习过程、分享知识
展开
-
IoC 的底层原理(简易版)
IoC 的底层原理 读取配置文件,解析 XML。 通过反射机制实例化配置文件中所配置的所有的bean。 public class MyClassPathXmlApplicationContext implements MyApplicationContext { private Map<String,Object> ioc = new HashMap<>(); public MyClassPathXmlApplicationContext(String pat原创 2020-07-11 10:00:42 · 159 阅读 · 0 评论 -
AOP编程
文章目录静态代理设计模式1、为什么需要代理设计模式2、代理设计模式1)概念2)名词解释3)代理开发的核心要素3、静态代理编码4、静态代理存在的问题Spring的动态代理开发(编码)1、Spring 动态代理的概念2、搭建开发环境3、Spring 动态代理的开发步骤4、调用动态代理细节分析1、Spring 创建的动态代理类在哪里?2、动态代理编程简化代理的开发3、动态代理额外功能的维护性大大增强Spring 动态代理详解1、额外功能的详解2、切入点详解2.1 切入点表达式2.2 切入点函数2.3 切入点函数原创 2020-07-11 09:58:22 · 260 阅读 · 0 评论 -
BeanPostprocessor
文章目录后置处理 Bean 后置处理 Bean 1. BeanPostProcessor 作用:对 Spring 工厂所创建的对象,进行再加工。 AOP的底层实现 2. 注意:BeanPostProcessor 是一个接口 注意:在项目中我们很少进行初始化操作,所以没必要区分 Before After,只需要实现其中一个(After)方法即可。 同时,我们必须要写 Before 方法空实现,必须 return bean 对象。 开发步骤 类实现 BeanPostProcessor原创 2020-07-11 09:57:34 · 191 阅读 · 0 评论 -
配置文件参数化、类型转换器
文章目录配置文件参数化配置文件参数的开发步骤自定义类型转化器1、类型转换器2、自定义类型转换器为什么需要自定义开发步骤细节 配置文件参数化 把 Spring 配置文件中需要经常修改的字符串信息,转移到一个更小的配置文件中 1. Spring 的配置文件中存在经常修改的字符串吗? 存在,以数据库连接相关的参数为代表 2. 经常变化字符串,为什么不在Spring配置文件中直接修改? 不利于项目维护(修改)---》配置文件一般很多,上千行,不易找 3. 转移到一个小的配置文件(.properties)原创 2020-07-11 09:56:41 · 767 阅读 · 2 评论 -
Spring创建对象的次数、生命周期
文章目录控制Spring工厂创建对象的次数1、如何控制简单对象的创建次数2、如何控制复杂对象的创建次数3、为什么要控制对象的创建次数对象的生命周期生命周期的3个阶段创建阶段初始化阶段销毁阶段 控制Spring工厂创建对象的次数 1、如何控制简单对象的创建次数 1. <bean id="user" scope="singleton | prototype" class="cf.duanzifan.entity.User"/> singleton:只会创建一次简单对象【默认值】 prototyp原创 2020-07-11 09:55:35 · 373 阅读 · 0 评论 -
反转控制、依赖注入、创建复杂对象
文章目录反转控制依赖注入Spring工厂创建复杂对象1、什么是复杂对象2、Spring 工厂创建复杂对象的3种方式2.1FactoryBean接口开发步骤一些其他细节FactoryBean 的实现原理(简易版)总结2.2实例工厂2.3静态工厂Spring 工厂创建对象总结 反转控制 反转控制(IOC Inverse of Control) 1. 控制:对于成员变量赋值的控制权 2. 反转控制:把对于成员变量赋值的控制权,从代码反转(转移)到 Spring 工厂和配置文件中完成 3. 好处:解耦合 4. 底原创 2020-07-11 09:54:09 · 182 阅读 · 0 评论 -
Spring注入
文章目录注入(Injection)什么是注入为什么需要注入如何进行注入【开发步骤】注入好处注入原理分析Set 注入详解Set 注入的简化写法构造注入构造方法重载注入总结注入总结 注入(Injection) 什么是注入 1. 通过 Spring 工厂及配置文件,为所创建对象的成员变量赋值。 为什么需要注入 通过编码(传统方式),为成员变量进行赋值,存在耦合 传统编码,给成员变量赋值 ApplicationContext applicationContext = new ClassPathXmlApplica原创 2020-07-11 09:51:18 · 213 阅读 · 0 评论 -
Spring-IOC
文章目录工厂设计模式简单工厂类来进行解耦合的操作通用工厂设计通用工厂的使用总结Spring环境搭建Spring 的核心 API程序开发Spring 工厂的底层实现简单分析关于对象创建的注意细节开发 工厂设计模式 1、概念:通过工厂类,创建对象 //常规创建对象 User user = new User(); UserDAO userDAO = new UserDAOImpl(); 2、好处:解耦合,利于代码的维护 new 对象的不好的地方:将接口的实现类,硬编码在程序中 public class Serv原创 2020-07-11 09:49:51 · 139 阅读 · 0 评论