确定不了解一下Spring两大核心之一的IOC容器嘛( 二 )


示例代码
ApplicationContext context = new AnnotationConfigApplicationContext(自定义的配置类.class);ClassPathXmlApplicationContext

作用:默认加载classPath下的配置文件,也就是代码编译之后的classes文件夹下 。
注意:使用ClassPathXmlApplicationContext读取相对路径时入参的“classpath:”是可以省略的 。读取绝对路径时,需要在入参添加前缀“file:” 。
示例代码
// 相对路径ApplicationContext context = new ClassPathXmlApplicationContext("classpath:配置文件名称.xml");ApplicationContext context = new ClassPathXmlApplicationContext("配置文件名称.xml");// 绝对路径ApplicationContext context = new ClassPathXmlApplicationContext("file:绝对路径下的配置文件路径");FileSystemXmlApplicationContext
作用:默认加载的是项目的所在路径下的配置文件 。
注意:对FileSystemXmlApplicationContext来说读取绝对路径时的入参前缀“file:”是可以省略的,但是读取相对路径的入参“classpath:”是必须的 。
示例代码
// 相对路径ApplicationContext context = new FileSystemXmlApplicationContext("classpath:beans.xml");// 绝对路径ApplicationContext context = new FileSystemXmlApplicationContext("file:绝对路径下的配置文件路径");ApplicationContext context = new FileSystemXmlApplicationContext("绝对路径下的配置文件路径");// 直接从项目的路径下ApplicationContext context = new FileSystemXmlApplicationContext("srcmainresources配置文件名");Spring的IOC实现原理Spring实现IOC容器的是通过:工厂 + 反射,实现的 。
通过一张图来给大家讲解SpirngIOC的实现原理(基于XML配置文件)
确定不了解一下Spring两大核心之一的IOC容器嘛

文章插图
 
如果是基于全注解形式的话,只是将读取配置文件的步骤改成了读取配置类,然后通过配置类获取需要创建实现的Bean,并通过反射将其创建 。其整体实现思路和使用XML配置文件是一样的 。
今天的分享就到这里了,如果感觉“菜鸟”写的文章还不错,记得点赞、转发加关注呦!你们的支持就是我坚持下去的动力 。文章哪里写的有问题的也希望大家可以指出,我会虚心受教 。

【确定不了解一下Spring两大核心之一的IOC容器嘛】


推荐阅读