[Javalist] Spring Java Configuration

Gábor Garami gabor.garami at hron.me
2016. Nov. 3., Cs, 13:48:01 CET


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
>


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