| ... | ... | @@ -48,4 +48,28 @@ Vyrobili jsme třídy Ridic a Auto ale Spring o nich nic neví, potřebujeme Str |
|
|
|
|
|
|
|
**2. Constructor injection** - máme property a vytvoříme konstruktor který vše nasetuje. Nevyřeší ale cyklickou vazbu. Na auto potřebujeme řidiče a na auto firmu a na firmu auto. Dalo by se řešit tak že CarDao by bylo Interface - dostali bychom obálku do které se nasetuje obsah. Framework ale takhle musí generovat třída za běhu. Nepřímo jsme použili s Pepou a Runnerem.
|
|
|
|
|
|
|
|
**3. Setter inject** - vytvoříme si setter, ten nahrajeme a vše nasettuje. Objekt je ale schopný fungovat až po nahrání všech setterů. Protahuje kód a čas - nejméně používaný. |
|
|
\ No newline at end of file |
|
|
|
**3. Setter inject** - vytvoříme si setter, ten nahrajeme a vše nasettuje. Objekt je ale schopný fungovat až po nahrání všech setterů. Protahuje kód a čas - nejméně používaný.
|
|
|
|
|
|
|
|
##Pojmy
|
|
|
|
|
|
|
|
* **Bean** - je v kontextu a poskytuje určitou funkčnost, my je nevytváříme, vytváří je za nás aplikační kontejner - kontext. Existují 2 typy: a) singleton - 1 instance; b) prototype - každý má vlastní
|
|
|
|
|
|
|
|
* **Aplikační kontext** - uchovává beany
|
|
|
|
|
|
|
|
##Konfigurace aplikačního kontextu
|
|
|
|
|
|
|
|
Dříve pomocí XML - zastaralý způsob. Spíše anotace pomocí Javy - do kontextu dáváme různé anotace a tím říkáme, co chceme.
|
|
|
|
|
|
|
|
1. @Configuration - "v tomhle souboru je nějaká konfigurace, předpis pro beany", tuto anotaci nelze napsat jinde než v souboru s anotací @Configuration. Nejde nám o tu třídu, nic nedělá, je jen obálkou. Každá metoda je provolána jednou při startu. Pokud chceme něco nakonfigurovat. Najdeme si jak se jmenuje Beana odpovědná za chování, vytvoříme objekt konfigurace kde ji překryjeme a tím změníme chování beanu.
|
|
|
|
2. @Import - spojuje konfigurace - není potřeba
|
|
|
|
3. @Bean - pouívá se jen u metod - vytvoří se nám v kontextu beana podle názvu té metody
|
|
|
|
4. @Autowired - zdrátování - abychom Springu řekli že tu bude nějaká vazba
|
|
|
|
5. @ComponentScan -@Component má tři potomky: @Controller, @Service a @Repository - tyto tři se píšou před třídu a řekneme tím: Vyrob mi jednu instanci téhle třídy jak se jmenuje tato třída ale s malým písmenem. Odpovídají třem vrstvám: Repository = perzistentní, Service - servisy, Controller - Controller/RestController. Pokud nevíme kam zařadit, označíme jako Beanu.
|
|
|
|
|
|
|
|
##Moduly
|
|
|
|
|
|
|
|
Core - obecná funkcionalita
|
|
|
|
Testing - testování
|
|
|
|
WebServlet - prezentace
|
|
|
|
WEB Reactive - Web Sockety
|
|
|
|
Integration - Spojení Springu s něčím dalším |
|
|
\ No newline at end of file |