Spring学习之手写SpringIOC框架

本文详细介绍了Spring IOC的概念,即控制反转,将对象之间的依赖关系交由第三方容器管理。通过阅读XML配置文件,利用Java反射技术创建并初始化对象。文章通过一个具体的案例,从建立实体类、编写XML配置、实现代码到main方法调用,逐步展示了Spring IOC的实战应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是SpringIOC

就是把每一个bean(实体类)与bean(实体类)之间的关系交给第三方容器进行管理。

Xml配置:

</beans>

Java代码:

 //1.读取springxml配置

        ClassPathXmlApplicationContextclassPathXmlApplicationContext = new ClassPathXmlApplicationContext(
                 "user.xml");
        //2.获取bean对象
        UserEntity  entity= (UserEntity) classPathXmlApplicationContext.getBean("UserEntity");
        System.out.println(entity.getUserId() + "----" + entity.getUserName());

二、什么是SpringIOC底层实现原理

1.读取beanXML配置文件

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

三、案例编写

3.1、建立实体类


3.2、编写xml


3.3、编写代码实现




3.4、mian调用方法


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值