logo

Contenitore IoC

  1. Contenitore IoC
  2. Utilizzando BeanFactory
  3. Utilizzando ApplicationContext

Il contenitore IoC è responsabile di istanziare, configurare e assemblare gli oggetti. Il contenitore IoC ottiene informazioni dal file XML e funziona di conseguenza. I compiti principali svolti dal contenitore IoC sono:

  • per istanziare la classe dell'applicazione
  • per configurare l'oggetto
  • per assemblare le dipendenze tra gli oggetti

Esistono due tipi di contenitori IoC. Sono:

    Fabbrica di fagioli Contesto dell'applicazione

Differenza tra BeanFactory e ApplicationContext

Il file org.springframework.beans.factory. Fabbrica di fagioli e org.springframework.context. Contesto dell'applicazione le interfacce fungono da contenitore IoC. L'interfaccia ApplicationContext è costruita sopra l'interfaccia BeanFactory. Aggiunge alcune funzionalità extra rispetto a BeanFactory come la semplice integrazione con AOP di Spring, gestione delle risorse dei messaggi (per I18N), propagazione degli eventi, contesto specifico del livello dell'applicazione (ad esempio WebApplicationContext) per l'applicazione web. Quindi è meglio usare ApplicationContext piuttosto che BeanFactory.

Utilizzando BeanFactory

XmlBeanFactory è la classe di implementazione per l'interfaccia BeanFactory. Per utilizzare BeanFactory, dobbiamo creare l'istanza della classe XmlBeanFactory come indicato di seguito:

 Resource resource=new ClassPathResource('applicationContext.xml'); BeanFactory factory=new XmlBeanFactory(resource); 

Il costruttore della classe XmlBeanFactory riceve l'oggetto Resource quindi dobbiamo passare l'oggetto Resource per creare l'oggetto di BeanFactory.


Utilizzando ApplicationContext

La classe ClassPathXmlApplicationContext è la classe di implementazione dell'interfaccia ApplicationContext. Dobbiamo istanziare la classe ClassPathXmlApplicationContext per utilizzare ApplicationContext come indicato di seguito:

 ApplicationContext context = new ClassPathXmlApplicationContext('applicationContext.xml'); 

Il costruttore della classe ClassPathXmlApplicationContext riceve la stringa, quindi possiamo passare il nome del file xml per creare l'istanza di ApplicationContext.

scarica l'esempio per utilizzare ApplicationContext