spring

spring 是什么? 
spring 是框架  是一个生态  springboot  springcloud

ioc (思想) :控制反转  原来我们需要一个对象的时候需要自己去new 
现在由spring容器替我们创建  我们需要直接去容器中拿就可以了
Di(手段):依赖注入  把属性进行注入的操作

IOC 容器 :存放对象 或者说bean   要不要生成?  要
  先在xml中

 

 

 

1 加载
2 解析
3 封装bean
4 实例化
5 放到容器中
6 从容器中获取
容器存放是map存放 
因为在ac.getBean("xxx")
需要传入需要获取对象的key 才能找到 对应的value

key:String  v:obj
key:Class  v obj
因为可以根据byname  也可以根据byType去容器中去获取对象

三级缓存
k:String v:ObjFactory
当解析xml文件 时 其实就是一堆字符串 spring 会将字符串封装成对象
k:string v:beanDefinition  存放bean的定义信息 

 

 

在ioc 是容器 在容器中会有一系列对象  在获取对象之前 需要获取到xml配置信息

或者说bean定义信息  xml properties  yml

通过beanDefinition读取 由beanDefinitionReader生成的解析文件

 

 

 

 当ioc容器拿到bean的定义信息后就可以实例化了

1 new

2反射 spring用的是反射  因为反射一个获取到这个类的所有属性和方法

springbean----》scope-----1 singleton 默认单例 多次复用 2 prototype 每次创建一个新的对象  3 request 4 session

在bean定义信息到bean的实例化之间 还会经过很多的bean增强器

 

 

 

 

 

 

 

  创建对象

  实例化 在堆内存中开辟一块空间 用于对象的属性值为默认值 先执行构造器

  初始化  给属性设置值  1 填充属性   1调用set方法 往里面设置值

                    2填充Awre接口属性

              2执行初始化方法-init-method

 

 

 

Awre接口到底什么作用?

当容器创建bean对象 在进行具体操作的时候  如果需要容器的其他对象,此时可以将对象实现Awre接口,来满足当前的需要

初始化环节

 


 

 

 

 

 


  在不同的阶段处理不同的工作  应该怎么办?

观察者模式; 监听器 监听事件 多播器



aop

 

posted @ 2022-06-16 22:17  花心大萝卜li  阅读(52)  评论(0)    收藏  举报