手写SpringIOC框架
什么是SpringIOC
什么是SpringIOC,就是把每个bean(实体类)与bean(实体了)之间的关系交给第三方容器进行管理。java
什么是SpringIOC底层实现原理
1.读取bean的XML配置文件
2.使用beanId查找bean配置,并获取配置文件中class地址。
3.使用Java反射技术实例化对象
4.获取属性配置,使用反射技术进行赋值。
详细步骤
1.利用传入的参数获取xml文件的流,而且利用dom4j解析成Document对象
2.对于Document对象获取根元素对象<beans>后对下面的<bean>标签进行遍历,判断是否有符合的id.
3.若是找到对应的id,至关于找到了一个Element元素,开始建立对象,先获取class属性,根据属性值利用反射创建对象.
4.遍历<bean>标签下的property标签,并对属性赋值.注意,须要单独处理int,float类型的属性.由于在xml配置中这些属性都是以字符串的形式来配置的,所以须要额外处理.
5.若是属性property标签有ref属性,说明某个属性的值是一个对象,那么根据id(ref属性的值)去获取ref对应的对象,再给属性赋值.
6.返回创建的对象,若是没有对应的id,或者<beans>下没有子标签都会返回null框架
简单来讲:dom
先解析XML格式,而后获取到class,name,value, 在经过java反射机制获取到类,在给属性进行赋值xml