手写SpringIOC框架
什么是SpringIOC 什么是SpringIOC,就是把每一个bean(实体类)与bean(实体了)之间的关系交给第三方容器进行管理。什么是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简单来说:
先解析XML格式,然后获取到class,name,value, 在通过java反射机制获取到类,在给属性进行赋值