[Javalist] Spring Java Configuration
Gábor Garami
gabor.garami at hron.me
2016. Nov. 4., P, 11:07:52 CET
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
Tel: +36 20 235 9621
Skype: hron84
2016-11-04 7:16 GMT+01:00 Peter Verhas <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> 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
>> Tel: +36 20 235 9621
>> Skype: hron84
>>
>>
>> 2016-11-01 13:35 GMT+01:00 Peter Verhas <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>
>> > 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>:
>> >>>
>> >>> 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> 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>:
>> >>>>>
>> >>>>> 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
>> >>>>> http://lists.javaforum.hu/mailman/listinfo/javalist
>> >>>>>
>> >>>>
>> >>>> _______________________________________________
>> >>>> Javalist mailing list
>> >>>> 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
>> >>>
>> >>
>> >> _______________________________________________
>> >> Javalist mailing list
>> >> 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
>> >
>> _______________________________________________
>> Javalist mailing list
>> 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