Spring5框架(二)—— IOC容器(底层原理)

IOC(概念和原理)

1.什么是IOC

2、IOC底层原理

(1)xml解析、工厂模式、反射

3、IOC底层原理实现流程图

 4、IOC过程

第一步 XML配置文件,配置创建的对象

<!--配置User对象创建-->
<bean id="user" class="com.lds.springdemo.User"></bean>

第二步 有service类和dao类,xml解析、创建工厂

 Class UserFactory{
        public static UserDao getDao () {
        //1、xml解析,也就是解析那个配置好的applicationContext.xml文件拿到类的全路径
        String classValue = class属性值;
        //2、通过反射创建对象
        Class clazz=Class.forName(classValue);
        return (UserDao)clazz.newInstance();
    }
}

IOC接口(BeanFactory)

1、IOC思想基于IOC容器完成,IOC容器底层就是对象工厂
2、Spring提供IOC容器实现的两种方式:
(1)、BeanFactory:IOC容器基本实现,是Spring内部实现的一个接口,不提供给(不建议)开放人员进行使用
(2)、ApplicationContext:BeanFactory接口的子接口。提供了更多更强大的功能,一般是面向开放人员进行使用的。

区别:都能实现加载spring配置文件,然后通过工厂这种过程创建对象,即功能相似。

但是BeanFactory加载配置文件的时候不会去创建对象,在获取对象(使用)才去创建这个对象,而ApplicationContext加载配置文件的时候会把配置文件中对象进行创建。 一般选择ApplicationContext进行使用,因为一般是服务器去加载这些文件。

(3)、ApplicationContext接口有实现类 

使用FileSystemXmlApplicationContext()的话要把xml盘符的路径写进去 

 ClassPathXmlApplicationContext就是src下的路径

绿色的表示对应的一些接口 蓝色表示对应的实现类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值