spring创建对象步骤
- 把对象创建交给spring来管理
在resources的xml文件中进行如下配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 把对象创建交给spring来管理 -->
<bean id="accountService" class="com.itheima.service.impl.AccountServiceImpl"></bean>
</beans>
- 获取核心容器对象
ApplicationContext的三个常用实现类
- ClassPathXmlApplicationContext 可以加载类路径下的配置文件,要求配置文件必须在类路径下(更常用)
- FileSystemXmlApplicationContext 可以加载磁盘任意路径下的配置文件
- AnnotationConfigApplicationContext 读取注解创建容器
ApplicationContext ac=new ClassPathXmlApplicationContext("bean.xml");
ApplicationContext ac=new FileSystemXmlApplicationContext("F:\\java学习\\first_spring\\src\\main\\resources\\bean.xml");
- 根据id获取bean对象
IAccountService as= (IAccountService) ac.getBean("accountService");
核心容器的两个接口
- ApplicationContext:(实际开发中更多使用) 单例对象适用
它在构建核心容器时,创建对象采取立即加载的方式,只要读取完配置文件就马上创建对象
spring十分智能,可以在bean标签中配置scope属性
singleton:单例(默认)prototype:多例
这样,spring就知道该对象是立即加载还是延迟加载
- BeanFactory: 多例对象适用
它在构建核心容器时,创建对象采取延迟加载的方式,什么时候根据id获取对象,什么时候才真正创建对象