spring框架的重要思想是将对象交给ioc容器管理
ioc容器的创建
首先重要的创建ioc容器 然后ioc容器使用bean组件管理类对象
在开发过程中,我们使用ApplicationContext接口创建ioc容器,ApplicationContext是BeanFactory的子接口。但是接口并不能实现ioc容器的具体创建,所以我们使用ApplicationContext的具体实现类
在IDEA中双击shift 搜索BeanFactory可查看相关源码 使用ctrl+H可查看接口和实现类的具体继承关系
ioc容器管理对象实例
当我们创建类之后 需要将类写入配置文件 再将配置文件和ioc容器对应起来 就可以实现ioc容器管理类
假如现在有一个helloworld的类
public class HelloWorld {
public void sayHello(){
System.out.println("hello,s[ring");
}
}
我们需要在项目的resources文件下新建配置文件
配置文件的命名任意
在配置文件中 配置类对应的bean对象
具体代码如下
配置bean对象 将对象交给ioc容器管理
id:bean的唯一标识,不能重复 这个是自己命名的
class:设置bean对象所对应的类型 就是类的位置
<bean id="helloworld" class="mwan.spring.pojo.HelloWorld"></bean>
最后将ioc容器和配置文件对应起来即可
public class Hello {
@Test
public void test(){
ApplicationContext ioc=new ClassPathXmlApplicationContext("applicationContext.xml");
//这里的applicationContext.xml就是配置文件的路径
HelloWorld helloWorld=(HelloWorld) ioc.getBean("helloworld");
//这里是通过ioc容器获取一个HelloWorld的对象
helloWorld.sayHello();
}
}
最后 再说一下通过ioc容器获取对象的三种方式
上述示例代码使用的是getBean(“helloworld”) 这个方法是根据bean的id获取对象,获取的是Object类型的对象 我们需要进行类型转换才能赋值给HelloWorld类型的变量
我们还可以根据id和类型获取 这个时候获取的就是对应对象类型的对象
HelloWorld helloWorld= ioc.getBean("helloworld",HelloWorld.class);
另外 还可以根据类型获取
HelloWorld helloWorld= ioc.getBean(HelloWorld.class);