..


Links Patrocinados

Núcleo Container - IoC recipientes

O container IoC é a parte que cuida de instanciar Primavera e configurar os objetos que são colocados na mesma, que são chamados de feijão.

Os grãos são configurados através de metadados que podem ser arquivos XML ou anotações Java . Por padrão, os metadados é lido apenas por XML, para permitir o uso de anotações há necessidade de configurar o ApplicationContext.

Como mencionado anteriormente parte de IoC e DI é implementado através da BeanFactory e ApplicationContext. Como o ApplicationContext é um superconjunto do BeanFactory, recomendou, e de agora em diante vamos nos referir apenas all'ApplicationContext.
Existem vários tipos fornecidos pelo Spring ApplicationContext, dependendo da aplicação deve ser desenvolvida. Por exemplo, para aplicações autônomas e estamos ClassPathXmlApplicationContext FileSystemXmlApplicationContext, enquanto que para aplicações corporativas é a WebApplicationContext, que é instanciado através de um ouvinte serlvet.
Todos precisam da metadados de configuração ApplicationContext e então precisamos instanciar um primeiro a escrever um arquivo xml.
Vamos dar um exemplo, novamente usando como referência a gestão de uma loja de vídeo e veja como inicializar o VideoManager classe IoC.
Primeiro criamos um arquivo usando o que chamamos de metadados applicationContext.xml:






 <beans xmlns="http://www.springframework.org/schema/beans" ............>





  



 <! - Importações e outros metadados ->



  



 <import resource="otherbeans.xml"/>

	



  



 <! - DEFINIÇÃO DO SERVIÇO ->

						

  



 <bean id="dvdService" class="it.mrwebmaster.DvdServiceImpl" scope="singleton" />





  



 <! - DEFINIÇÃO MANAGER VIDEO ->



  



 <bean id="videoManager" class="it.mrwebmaster.VideoManager" scope="prototype">



    



 <property name="dvdService" ref="dvdService" />



  



 <Bean />



	





 </ Beans>



Este exemplo mostra que é possível integrar múltiplos arquivos de metadados Definição como dado, a fim de dividir o feijão. Atualmente, é importante entender a sintaxe dos metadados (que será explicado mais tarde), mas o potencial da Primavera.
Eliminar do construtor da classe para inicializar o dvdService VideoManager e criar os getters e setters para os dvdService:






 VideoManager pública () {



  



 super ();







 }









 <Dvd> Lista getAvalaibleDvdList pública () {



  



 //......



  



 retorno availabeDvdList;







 }









 setDvdService public void (DvdService dvdService) {



  



 this.dvdService dvdService =;







 }









 getDvdService DvdService pública () {



  



 retorno dvdService;







 }



Agora vamos ver como inicializar o IoC:





 / **



 



 * Instanz o container IoC



 



 * /







 ApplicationContext ApplicationContext ClassPathXmlApplicationContext = new ("applicationContext.xml");









 / **



 



 * Recuperar o VideoManager classe



 



 * /







 VideoManager VideoManager = (VideoManager) applicationContext.getBean ("VideoManager");









 / **



 



 * Imprimir a lista de DVDs disponíveis



 



 * /







 Lista <Dvd> avalaibleDvdList videoManager.getAvalaibleDvdList = ();









 for (DVD DVD: avalaibleDvdList) {



  



 System.out.println (dvd.getTitolo ());







 }



Como vimos, escrevendo algumas linhas de código XML e fomos capazes de configurar totalmente a nossa aplicação.

As vantagens de usar Spring, que foram descritas nos capítulos anteriores destacam-se:

  • O feijão em nossa aplicação, e DvdServiceImpl VideoManger Nessus não implementa interface ou classe abstrata, e recipientes dependências dall'IoC são nulos.
  • Se você decidir alterar a dell'DvdService implementação, ou adicionar outros, basta alterar o arquivo applicationContext.xml, sem tocar no código de VideoManager, graças ao uso de interfaces.
  • Também graças ao uso de interfaces é fácil criar testes para a nossa aplicação.

IoC Container

Novamente referindo-se a nosso exemplo, podemos usar a FileSystemXmlApplicationContext esta:

 



 ApplicationContext ApplicationContext FileSystemXmlApplicationContext = new ("/ caminho / applicationContext.xml");

 
Em vez de usar o WebApplicationContext em um aplicativo corporativo, você precisa adicionar no nosso web.xml (o exemplo completo de um aplicativo corporativo que usa Primavera illutrato será o último capítulo deste manual):





 <! - SPRING ->







 <context-param>



  



 <param-name> contextConfigLocation </ param-name>



  



 <param-value> classpath *: applicationContext.xml </ param-value>







 </ Context-param>









 <listener>



  



 <listener-class> org.springframework.web.context.ContextLoaderListener </ ouvinte classe>







 <Listener />



Primavera Java Guia
E-Learning
Linux (Curso) Linux (Curso)
Guia completo para open-source do sistema. A partir de 49 €.
PHP (Curso) PHP (Curso)
Curso completo para a criação de sites dinâmicos. A partir de 49 €.
Ruby e Ruby on Rails (Curso) Ruby e Ruby on Rails (Curso)
Criar aplicações de software e Web com Ruby e RoR. A partir de 39 €.
Links Patrocinados