容器
获取bean
方式一:使用bean名称获取
BookDao bookDao = (BookDao) ctx.getBean("bookDao");
方式二:使用bean名称获取并指定类型
BookDao bookDao = ctx.getBean("bookDao",BookDao.class);
方式三:使用bean类型获取
BookDao bookDao = ctx.getBean(BookDao.class);
核心容器总结
容器相关
- BeanFactory 是IoC容器的顶层接口,初始化 BeanFactory 对象时,加载 bean 延迟加载
- ApplicationContext 接口是Spring 容器的核心接口,初始化时 bean 立即加载
- ApplicationContext 接口提供基础的 bean 操作相关方法,通过其他接口扩展其功能
- ApplicationContext 接口常用初始化类
- ClassPathXmlApplicationContext
- FileSystemXmlApplicationContext
bean相关
<bean
id="bookDao" bean的id
name="dao bookDaoImpl daoImpl" bean别名
class="com.itheima.dao.impl.BookDaoImpl" bean类型,静态工厂类,FactoryBean类
scope="singleton" 控制bean的实例数量
init-method="init" 生命周期初始化方法
destroy-method="destory" 生命周期销毁方法
autowire="byType" 自动装配类型
factoryp-method="getInstance" bean工厂方法,应用于静态工厂或实例工厂
factory-bean="com.itheima.factory.BookDaoFactory" 实例工厂bean
lazy-init="true" 控制bean延迟加载
/>
依赖注入相关
……