[Javalist] Spring Java Configuration

Böszörményi Péter zmblevlist at gmail.com
2016. Nov. 5., Szo, 08:26:43 CET


Nem egyertelmu. A konstruktorban varja az objektumom a kotelezo 
konfiguracios parametereket, setterekben pedig az opcionalis parametereket.

On 04/11/16 12:00, Peter Verhas wrote:
> Mondjuk onnan tudhatja, hogy látja, hogy milyen nevű és típusú
> konstruktor argumentumok vannak, és milyen setterek vannak, és ha nincs
> ellentmondás, és minden egyértelmű, akkor aszerint cselekszik. Nem olyan
> bonyolult logika. Miért kell nekem megmondanom, hogy ez egy setter
> paraméter amaz meg egy konstruktor paraméter, amikor egyértelműen ott
> van a kódban az oszályban?
>
> On Fri, Nov 4, 2016 at 11:09 AM Gábor Garami <gabor.garami at hron.me
> <mailto:gabor.garami at hron.me>> wrote:
>
>     Oke, de akkor hogyan talalja ki a Spring, hogy te hol szeretned a
>     konfiguraciot kapni? Valahogy meg kell mondani neki, hogy te
>     konstruktor argumentumot, vagy setterket hasznalsz. Ket lehetoseg van:
>     a Spring ugy dont, hogy mostantol csak az egyik lehetoseget tamogatja,
>     es kotelezoen mondjuk setterrel kell atvenni a frameworktol a
>     konfiguraciot, vagy valami annotacios-magia-mechanizmust vezet be az
>     osztalyon, ahol ugyanuygy el kell magyarazni, hogy mit kell csinalni,
>     csak eppen inkabb kimesz kapalni a kertbe, mintsem vegigird. Szerintem
>     tok praktikus ez a rendszer igy. Persze, lehetne sokkal szebb, jobb,
>     kenyelmesebb, de senki nem allt elo jobbal.
>
>     Udv.
>
>     Garami Gábor
>     E-mail: gabor.garami at hron.me <mailto:gabor.garami at hron.me>
>     Tel: +36 20 235 9621 <tel:+36%2020%20235%209621>
>     Skype: hron84
>
>
>     2016-11-04 7:16 GMT+01:00 Peter Verhas <peter at verhas.com
>     <mailto:peter at verhas.com>>:
>     > Azért ehhez MI nem kellene.
>     >
>     > On 2016. Nov 3., Thu at 13:49, Gábor Garami <gabor.garami at hron.me
>     <mailto:gabor.garami at hron.me>> wrote:
>     >>
>     >> Azert, mert a Springben meg nem dugtak el egy MI-t, valahol meg kell
>     >> tudnod mondani, hogy hogyan adja oda. Ha nagyon dugnad az
>     >> implementaciot, akkor csinalj factory osztalyt chainolt szintaxissal:
>     >>
>     >>
>     ProductLookupBuilder.create(ResourceBasedProductLookup.class).withParam(param).build(),
>     >> osztan hogy a "build" -ban milyen magiakat fogsz alkalmazni, az mar
>     >> tenyleg implementacios reszlet. A Java konfig pont attol szep, hogy
>     >> itt aztan barmilyen aljassagot elkovethetsz, amit az XML korlatai
>     >> miatt nem.
>     >>
>     >>
>     >> Garami Gábor
>     >> E-mail: gabor.garami at hron.me <mailto:gabor.garami at hron.me>
>     >> Tel: +36 20 235 9621 <tel:+36%2020%20235%209621>
>     >> Skype: hron84
>     >>
>     >>
>     >> 2016-11-01 13:35 GMT+01:00 Peter Verhas <peter at verhas.com
>     <mailto:peter at verhas.com>>:
>     >> > Köszönöm.
>     >> >
>     >> > Elvi gondom van vele, hogy miért kell megmondanom, hogy konstruktor
>     >> > injektor. Az osztály dolga, meg a framework-é, hogy hogyan adja oda
>     >> > neki.
>     >> > Nekem a konfigurációban csak azt kell(ene) megmondanom, hogy
>     mit adjon
>     >> > oda.
>     >> >
>     >> > On Tue, Nov 1, 2016 at 1:27 PM István Székely
>     >> > <istvan.szekely1 at gmail.com <mailto:istvan.szekely1 at gmail.com>>
>     >> > wrote:
>     >> >>
>     >> >> Szia!
>     >> >>
>     >> >> Ezt akkor is át kell írnod, ha XML konfigurációt használsz.
>     <property
>     >> >> .../> vagy <constructor-arg .../> , magától akkor sem tudja a
>     Spring.
>     >> >>
>     >> >> Üdv,
>     >> >> Stivi
>     >> >>
>     >> >>
>     >> >> 2016. november 1. 12:01 Peter Verhas írta, <peter at verhas.com
>     <mailto:peter at verhas.com>>:
>     >> >>>
>     >> >>> Van egy interface
>     >> >>>
>     >> >>> public interface ProductLookup {
>     >> >>>     String getParam();
>     >> >>>
>     >> >>>     ProductInformation byId(String id);
>     >> >>>
>     >> >>>     List<String> byQuery(String query);
>     >> >>> }
>     >> >>>
>     >> >>> van több implementációja, az egyik
>     >> >>>
>     >> >>>
>     >> >>> public class ResourceBasedProductLookup implements
>     ProductLookup {
>     >> >>>
>     >> >>>     private String param;
>     >> >>>
>     >> >>>     public void setParam(String param) {
>     >> >>>         this.param = param;
>     >> >>>     }
>     >> >>>
>     >> >>>     public String getParam() {
>     >> >>>
>     >> >>>         return param;
>     >> >>>     }
>     >> >>>
>     >> >>> (folytatódik...)
>     >> >>>
>     >> >>> A spring konfiguráció
>     >> >>>
>     >> >>> @Configuration
>     >> >>> public class SpringConfiguration {
>     >> >>>
>     >> >>>     @Bean @Primary
>     >> >>>     public ProductLookup productLookup(){
>     >> >>>
>     >> >>>         ResourceBasedProductLookup pl =  new
>     >> >>> ResourceBasedProductLookup();
>     >> >>>         pl.setParam("hukk");
>     >> >>>         return pl;
>     >> >>>     }
>     >> >>>
>     >> >>> tud róla, hogy ez egy setter injection. Miért? Ha átírom
>     konstruktor
>     >> >>> injekcióra a konfigurációnak erről nem kellene tudnia. Nem az
>     ő dolga.
>     >> >>>
>     >> >>>
>     >> >>> Ezt nem értem.
>     >> >>>
>     >> >>>
>     >> >>>
>     >> >>> On Mon, Oct 31, 2016 at 10:38 AM Zsombor <gzsombor at gmail.com
>     <mailto:gzsombor at gmail.com>> wrote:
>     >> >>>>
>     >> >>>> Nem teljesen értem, de azt hiszem a válasz a kérdésre igen.
>     Az elég
>     >> >>>> zavarossá tenné az inicializálást, ha valamely mezők
>     konstruktorban
>     >> >>>> inicializálódnának, valamelyeket meg utána a spring
>     bele-mágiázná.
>     >> >>>> Jobb, szerintem, teljesen a spring-re bízni a bean
>     létrehozást, és
>     >> >>>> csak
>     >> >>>> a legszükségesebbeket manuálisan életre pofozgatni.
>     >> >>>>
>     >> >>>> Zs
>     >> >>>>
>     >> >>>>
>     >> >>>>
>     >> >>>> 2016-10-31 9:47 GMT+01:00 Peter Verhas <peter at verhas.com
>     <mailto:peter at verhas.com>>:
>     >> >>>>>
>     >> >>>>> Amikor egy Java nyelvű konfigurációs osztállyal kofigurálom a
>     >> >>>>> Spring-et, akkor jól látom, hogy a @Bean metódusok nincsenek
>     >> >>>>> szétválasztva
>     >> >>>>> az injektálás implementációjától? Ha tehát egy mezőt eddig
>     >> >>>>> setter-rel
>     >> >>>>> injektáltam és mostantól konstruktorban szeretném, akkor
>     meg kell
>     >> >>>>> változtatnom a @Bean metódust a konfigurációban?
>     >> >>>>>
>     >> >>>>> _______________________________________________
>     >> >>>>> Javalist mailing list
>     >> >>>>> Javalist at lists.javaforum.hu
>     <mailto:Javalist at lists.javaforum.hu>
>     >> >>>>> http://lists.javaforum.hu/mailman/listinfo/javalist
>     >> >>>>>
>     >> >>>>
>     >> >>>> _______________________________________________
>     >> >>>> Javalist mailing list
>     >> >>>> Javalist at lists.javaforum.hu <mailto:Javalist at lists.javaforum.hu>
>     >> >>>> http://lists.javaforum.hu/mailman/listinfo/javalist
>     >> >>>
>     >> >>>
>     >> >>> _______________________________________________
>     >> >>> Javalist mailing list
>     >> >>> Javalist at lists.javaforum.hu <mailto:Javalist at lists.javaforum.hu>
>     >> >>> http://lists.javaforum.hu/mailman/listinfo/javalist
>     >> >>>
>     >> >>
>     >> >> _______________________________________________
>     >> >> Javalist mailing list
>     >> >> Javalist at lists.javaforum.hu <mailto:Javalist at lists.javaforum.hu>
>     >> >> http://lists.javaforum.hu/mailman/listinfo/javalist
>     >> >
>     >> >
>     >> > _______________________________________________
>     >> > Javalist mailing list
>     >> > Javalist at lists.javaforum.hu <mailto:Javalist at lists.javaforum.hu>
>     >> > http://lists.javaforum.hu/mailman/listinfo/javalist
>     >> >
>     >> _______________________________________________
>     >> Javalist mailing list
>     >> Javalist at lists.javaforum.hu <mailto:Javalist at lists.javaforum.hu>
>     >> http://lists.javaforum.hu/mailman/listinfo/javalist
>     >
>     >
>     > _______________________________________________
>     > Javalist mailing list
>     > Javalist at lists.javaforum.hu <mailto:Javalist at lists.javaforum.hu>
>     > http://lists.javaforum.hu/mailman/listinfo/javalist
>     >
>     _______________________________________________
>     Javalist mailing list
>     Javalist at lists.javaforum.hu <mailto:Javalist at lists.javaforum.hu>
>     http://lists.javaforum.hu/mailman/listinfo/javalist
>
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>


További információk a(z) Javalist levelezőlistáról