IOC-Container
Zwei Möglichkeiten, Container zu erstellen
- ClassPathXmlApplicationContext[Klassenpfad]
- FileSystemXmlApplicationContext[Dateipfad]
Drei Möglichkeiten, Bean zu bekommen
- getBean("name"): Typkonvertierung erforderlich
- getBean("name", type.class): ein weiterer Parameter
- getBean(type.class): Der Container darf nicht mehrere Bean-Objekte dieser Klasse enthalten
Als letzte übergeordnete Schnittstelle von ApplicationContextMit BeanFactory erstellte Container werden verzögert geladen und mit ApplicationContext erstellte Container werden sofort geladenNatürlich kann ApplicationContext auch Lazy Loading implementieren. Wir müssen lediglich die Konfigurationsdatei ändern und dem Bean-Objekt das Attribut lazy-init hinzufügen.
<bean id="bookDao" class="com.itheima.dao.impl.BookDaoImpl" lazy-init="true"/>