..


Enllaços patrocinats

Contenidors Core - grans de primavera

En aquesta secció s'analitza la configuració de metadades a través de la COI contenidor xml.
D'un gra de instazionare nell'IoC contanier suficient per a nosaltres dos infomarzioni:

  • Nom de la classe a què pertany l'objecte
  • Un identificador únic que s'assignarà a la de fesol en el context
Exemple:





 <beans id="myBean" class="com.MyClass"/>









 <beans class="com.MyClass1"/>



El segon exemple és deliberadament omès l'atribut id, perquè si no s'especifica que genera una primavera a l'atzar. No obstant això, es recomana que sempre s'especifica un id, pel que pot fer referència a la llavor, si cal. Un bean pot tenir múltiples identificadors que es poden afegir a través de l'atribut de nom o pel tag d'àlies:
 



 <beans id="myBean" class="com.MyClass" name="alias1 alias2" />

 
o
 



 <alias name="myBean" alias="alias1" />

 

Per crear instàncies dels grans de primavera utilitzant tres mètodes:

  • A través del fabricant
  • A través d'un mètode de fàbrica
  • A través d'una fàbrica de beans
Si no s'especifica un mètode per crear instàncies dels grans, Primavera utilitza el constructor per defecte, de manera que cada gra ha de tenir la construttore per defecte (més tard veurem com es crea amb un gra d'un constructor amb paràmetres).
Si voleu utilitzar un mètode de fàbrica, la qual cosa és típic d' un producte únic , que ha d'utilitzar l'atribut de fàbrica mètode.





 {Public FactoryMethodBean classe





  



 instància estàtica privada = new FactoryMethodBean FactoryMethodBean ();





  



 FactoryMethodBean privat () {}





  



 estàtics públics getInstance FactoryMethodBean () {



    



 retorn exemple;



  



 }









 }



i nell'applicationContext. xml
 



 <bean id="factoryMethodExample" class="it.mrwebmaster.singleton.FactoryMethodBean" factory-method="getInstance"/>

 

L'últim mètode de creació d'instàncies utilitza, a més del mètode de fàbrica, una fàbrica de fesol, la qual cosa és típic del Servei de localització .






 FactoryBean {public class





  



 Privat ex ExampleBean;





  



 pública FactoryBean () {



    



 super ();



    



 L'ex ExampleBeanImpl = new ();



  



 }





  



 pública ExampleBean getExampleBean () {



    



 tornar ex;



  



 }









 }



i nell'applicationContext. xml





 <bean id="factoryBean" class="it.mrwebmaster.factory.FactoryBean" />









 <bean id="exampleBean" class="it.mrwebmaster.factory.ExampleBean" factory-bean="factoryBean" factory-method="getExampleBean"/>



Àmbits

Una important propietat d'un bean és el seu abast, que defineix el cicle de vida. Spring suporta cinc tipus d'abast:

  • Singleton, crea una única instància del gra en el recipient que és compartida per tots els altres grans.
  • prototip, que es requereix cada vegada que un gra en particular es crearà una instància nova, és a dir, qualsevol altre fesol que es refereix a un bean prototip àmbit tindrà la seva pròpia instància.
  • petició per a cada sol.licitud HTTP es crea una instància d'aquest gra
  • període de sessions, per a cada sessió HTTP es crea una instància d'aquest gra
  • sessió global, s'ha d'utilitzar només en aplicacions que fan ús de portlets, que és present en el concepte de sessió global entre els diversos portlets.

L'únic i abast prototip està disponible per a tots els ApplicationContext com a petició, reunió, sessió global i només són vàlids per al WebApplicationContext.

Si l'atribut no s'especifica l'abast, el gra es converteix en l'abast Singleton per defecte.

A més d'aquests àmbits hi ha una sisena, però el fil abast no està activat per defecte. A la primavera es poden crear àmbits personalitzats, sinó que es deixa al lector la profunditat d'aquest tema.

Primavera Guia Java
E-Learning
Linux (Curs) Linux (del curs)
Guia completa de codi obert del sistema. A partir de 49 €.
PHP (Curs) PHP (Curs)
Cicle complet per a la creació de llocs web dinàmics. A partir de 49 €.
Ruby i Ruby on Rails (Curs) Ruby i Ruby on Rails (Curs)
Crear aplicacions de programari i la web amb Ruby i RoR. A partir de 39 €.
Enllaços patrocinats