IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Spring - setter injection a parametry

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:4.7.2018 14:01

Zdravíčko,

upustím od svých slohů a rovnou k věci.
Jedná se mi o objekt definovaný ve Spring configu. Když chci v takovém objektu zavolat setter metodu, tak můžu použít jen jeden parametr.
U konstruktoru lze více parametrů indexovat. To je tedy i moje otázka, proč to nejde indexovat i u setteru?

Vysvětluje to, proč v JavaFX neexistuje swing metoda setLocation(int, int), ale oba parametry jsou nastavitelné v jednotlivých set metodách.

Ale proč to tak je? Jsem šťoural a snad se i dozvím teorii Springu, která mi třeba unikla.

Zkusil jsem: Stack overflow
Spring IO
Tutorialspoint

Experimenty ve spring configu

Chci docílit: Vysvětlení, proč to tak je.

Odpovědět
4.7.2018 14:01
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Atrament
Tvůrce
Avatar
Odpovídá na Lubor Pešek
Atrament:4.7.2018 23:59

Setter s dvěma argumenty není setter. Spring beans vycházejí z klasických Java Beans konvencí kde je setter metoda která umožnuje nastavit attributu instance třídy novou hodnotu. Ten attribut musí být privátní a jeho jméno je obsaženo v názvu setteru:

...
private String name; //privátní atribut

//setter metoda pro přístup k attributu s názvem name
public void setName(String aName) {
   this.name = aName;
}
...

Jelikož setter tedy nemůže mít více argumentů, není ani potřeba, aby existovala nějaká podpora těch indexů jak to mají constructory.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
4.7.2018 23:59
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:5.7.2018 1:46

ok díkes

Nahoru Odpovědět
5.7.2018 1:46
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.