V předchozím dílu jsme pro získání instance použili metodu context.getBean(„myClass“).
MyClass mc1 = (MyClass) context.getBean("myClass");
Získá instanci na základě id, které je definováno v souboru beans.xml. Metoda getBean(String name) vrací Object, takže je nutné přetypování. Existují ale i další možnosti.
MyClass mc2 = context.getBean(MyClass.class, "myClass");
Tato metoda je stejná jako předchozí, jen vrací instanci třídy zadané jako parametr a tím pádem není nutné provádět přetypování jako v předchozím případě.
MyClass mc3 = context.getBean(MyClass.class);
Získá instanci dané třídy. V tomto případě stačí mít v beans.xml pouze následující definici (bez id).
<bean class="cz.vitfo.spring01.MyClass"> <property name="message" value="Hello World!"/> </bean>
Vysvětlení pojmů
Kontejner je komponenta, která v sobě obsahuje jinou komponentu a poskytuje jí nějakou službu.
Spring kontejner je kontejner, který zodpovídá za všechny beany (instance), které vytváří, a které poskytuje aplikaci. Je také zodpovědný, že beany (instance) budou k dispozici ve správný čas na správném místě. Aby toto mohl provádět, potřebuje konfiguraci. V našem případě to konfigurace v souboru beans.xml, ale Spring umožňuje i jiné formy konfigurace.
Bean je třída, která obsahuje proměnné, gettery a settery. Je to forma POJO (Plain Old Java Object).