contenedor COI
Dos formas de crear contenedores
- ClassPathXmlApplicationContext[ruta de clases]
- FileSystemXmlApplicationContext[ruta del archivo]
Tres formas de conseguir Bean
- getBean("nombre"): se requiere conversión de tipo
- getBean("nombre", tipo.clase): un parámetro más
- getBean(type.class): No puede haber múltiples objetos de frijol de esta clase en el contenedor
Como la interfaz principal final de ApplicationContextLos contenedores creados con BeanFactory se cargan de forma lenta y los contenedores creados con ApplicationContext se cargan inmediatamente.Por supuesto, ApplicationContext también puede implementar la carga diferida, solo necesitamos modificar el archivo de configuración y agregar el atributo lazy-init al objeto bean.
<bean id="bookDao" class="com.itheima.dao.impl.BookDaoImpl" lazy-init="true"/>