English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Il container IoC è responsabile dell'istanziamento, della configurazione e dell'assemblaggio degli oggetti. Il container IoC ottiene le informazioni dai file XML e lavora di conseguenza. Le principali attività eseguite dal container IoC sono:
Instanziare le classi dell'applicazione Configurare gli oggetti Assemblare le dipendenze tra gli oggetti
Ci sono due tipi di container IoC. Sono:
BeanFactory ApplicationContext
org.springframework.beans.factory. BeanFactory e org.springframework.context. ApplicationContext L'interfaccia di interfaccia funge da container IoC. L'interfaccia ApplicationContext è costruita sulla cima dell'interfaccia BeanFactory. Aggiunge alcune funzioni aggiuntive rispetto a BeanFactory, come l'integrazione semplice con AOP di Spring, la gestione delle risorse di messaggio (per I18N), la diffusione degli eventi, il contesto specifico dell'applicazione del livello di applicazione Web (ad esempio WebApplicationContext). Pertanto, utilizzare ApplicationContext è meglio di utilizzare BeanFactory.
XmlBeanFactory è un'implementazione dell'interfaccia BeanFactory. Per utilizzare BeanFactory, dobbiamo creare l'istanza della classe XmlBeanFactory, come segue:
Resource resource = new ClassPathResource("applicationContext.xml"); BeanFactory factory = new XmlBeanFactory(resource);
Il costruttore della classe XmlBeanFactory accetta un oggetto Resource, quindi dobbiamo passare questo oggetto risorsa per creare l'oggetto BeanFactory.
Uso di ApplicationContext
La classe ClassPathXmlApplicationContext è un'implementazione della interfaccia ApplicationContext. Dobbiamo istanziare la classe ClassPathXmlApplicationContext per utilizzare l'ApplicationContext, come segue:
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
Il costruttore della classe ClassPathXmlApplicationContext accetta una stringa, quindi possiamo passare il nome del file xml per creare l'istanza dell'ApplicationContext.