网站开发与设计实训总结两千字,最简单的营销方案,装修网十大平台,商务信息网官网spring 的理解
spring 是一个基础的框架#xff0c;同时提高了一个Bean 的容器#xff0c;用来装载Bean对象spring会帮我们创建Bean 对象并维护Bean对象 的生命周期。在spring 框架上#xff0c;还有springCloud,spring Boot 的技术框架#xff0c;都是以Spring为基石的sp…spring 的理解
spring 是一个基础的框架同时提高了一个Bean 的容器用来装载Bean对象spring会帮我们创建Bean 对象并维护Bean对象 的生命周期。在spring 框架上还有springCloud,spring Boot 的技术框架都是以Spring为基石的spring 有两个核心就是IOC和AOP
Spring IOC 是什么
控制反转将对象和对象的关系由spring 统一管理而这些对象统称 BeanIOC本质上就是一个对象工厂使用时需要将bean实例化 Spring提供了IOC容器的两种实现方式 ① BeanFactory接口是面向Spring本身的不是提供给开发人员使用的 ② ApplicationContext接口BeanFactory的子接口面向开发人员使用
Spring AOP 是什么
面向切面编程我们可以将一些与业务逻辑无关的代码来通过切面来实现比如日志权限控制事务管理接口限制在使用中我们需要实现前置方法后置方法通知等
IOC 容器是怎么实现的 配置Bean 通过xml或者是Component Bean 等进行配置 解析Bean,得到BeanDefinition定义对象 通过 BeanDefintionReader 将 bean 进行解析准备要创建的bean对象的定义对象BeanDefinition,存放到BeanDefintionMap 中将beanName和bean值进行保存 实例化bean BeanFactory通过反射的方式j将BeanDefinition定义对象实例化成具体的bean对象 注意在这之前也可以进行beanFactoryPostProcessorBean的增强器的处理我们可以根据获取到的BeanDefinition 定义对象做特殊处理 初始化Bean 1填充属性 通过populateBean 填充属性 2执行aware 接口所实现的方法方便通过bean对象来获取容器中的属性值 3调用BeanPostProcessor前置处理方法AOP等都在这里实现 4调用init-mehtod方法 5调用BeanPostProcessor的后置处理方法 生成Bean 通过getBean方法可以直接获取 销毁Bean
Bean 的生命周期 1 实例化bean BeanFactory通过反射的方式j将BeanDefinition定义对象实例化成具体的bean对象 2. 填充属性 通过populateBean 填充属性 3. 执行aware 接口所实现的方法方便通过bean对象来获取容器中的属性值 4. 调用BeanPostProcessor前置处理方法 5. 调用 init-mehtod方法 6.调用BeanPostProcessor的后置处理方法AOP等都在这里实现 7. 通过getBean 来获取Bean 8. x销毁Bean
扩展
Spring是如何简化开发的
通过依赖注入和面向接口实现松耦合基于切面和惯例进行声明式编程通过切面和模板减少样板式代码
Spring IOC的实现机制
简单工厂反射
什么是Bean什么是对象
由Spring 管理的对象叫 Beanbean 一定时对象对象不一定是Bean