..


Sponsrade länkar

Kärna Container - Våren bönor

I detta avsnitt analyserar vi konfiguration via IOK behållaren XML-metadata.
För en böna instazionare nell'IoC contanier nog för oss bara två infomarzioni:

  • Kvalificerad Namnet på den klass som objektet tillhör
  • Ett unikt ID som krävs för att bönan i samband
Exempel:





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









 <beans class="com.MyClass1"/>



Det andra exemplet är medvetet utelämnat id-attribut, för om du inte anger den genererar ett slumpmässigt våren. Det är dock rekommenderat att du alltid anger ett id, så du kan referera till böna om det behövs. En böna kan ha flera identifierare som kan läggas till genom namnet attribut eller av alias tag:
 



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

 
eller
 



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

 

För att instansiera våren bönorna med tre metoder:

  • Genom tillverkaren
  • Genom en fabrik metod
  • Genom en böna fabrik
Om du inte anger en metod för att instansiera bönorna, använder vår standard konstruktören, så varje böna måste ha standard construttore (senare får vi se hur en böna instansieras med hjälp av en konstruktor med parametrar).
Om du vill använda en fabrik metod, vilket är typiskt för en singleton , måste du använda den fabriksinställda metoden attribut.





 {Public class FactoryMethodBean





  



 privata statisk instans = new FactoryMethodBean FactoryMethodBean ();





  



 Privat FactoryMethodBean () {}





  



 public static FactoryMethodBean getInstance () {



    



 tillbaka exempel;



  



 }









 }



och nell'applicationContext. xml
 



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

 

Den sista metoden för instansiering används, förutom till fabriken metod, en böna fabrik, som är typiskt för Service Locator .






 FactoryBean {public class





  



 Privat ExampleBean förra;





  



 offentliga FactoryBean () {



    



 super ();



    



 Tidigare ExampleBeanImpl = new ();



  



 }





  



 offentliga ExampleBean getExampleBean () {



    



 retur ex;



  



 }









 }



och 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"/>



Scopes

En viktig egenskap hos en böna är dess räckvidd, som definierar livscykeln. Våren stöder fem typer av omfattning:

  • Singleton, skapar en enda instans av bönan i behållaren som delas av alla andra bönor.
  • prototyp, som krävs varje gång en viss böna kommer att instansieras ett nytt, dvs någon annan böna som refererar till en prototyp scoped böna kommer att ha sin egen instans.
  • begäran om varje HTTP-begäran skapas en instans av denna böna
  • session, är att varje http session skapat en instans av denna böna
  • globala möte, bör endast användas i applikationer som använder sig av portletar som finns i begreppet global session mellan de olika portletar.

Singleton och omfattningar prototyp finns tillgängliga för alla ApplicationContext som begäran session globala session och är giltiga endast för WebApplicationContext.

Om omfattningen attributet inte anges blir bönor singleton omfattning som standard.

Utöver dessa omfattningar det finns en sjätte, men omfattningen tråden är inte aktiverat som standard. Under våren kan du skapa anpassade omfattningar, men lämnas åt läsaren djupet i detta ämne.

Spring Java-guide
E-Learning
Linux (kurs) Linux (kurs)
Komplett av öppen källkod-system. Från 49 €.
PHP (kurs) PHP (kurs)
Fullständig kurs för att skapa dynamiska webbplatser. Från 49 €.
Ruby och Ruby on Rails (kurs) Ruby och Ruby on Rails (kurs)
Skapa program och webbapplikationer med Ruby och RoR. Från 39 €.
Sponsrade länkar