Permalänk

Hur ska jag tolka Java Beans?

Jag har tittat igenom några filmer om Java Beans och gjort några exempel. Men jag vet inte hur jag ska tolka Java Beans som.
Därför ställer jag frågan till er om jag har rätt eller fel.

Så här tolkar jag Java Beans:
Med Java Beans så slipper jag initialisera fält och konstruktörer med javakod. Istället så använder jag .XML kod för att beskriva vilket fält som ska ha detta värde och vilken konstruktör som ska ha dessa argumenten.

På så sett så kan man enkelt strukturera fält, konstruktörer och kanske mer, grafiskt istället för javakod.

Har jag rätt eller har jag fel?

Permalänk
Medlem

Osäker på vad du menar med hur du ska "tolka Java Beans som". En Java Bean är en klass som implementerar Serializable, har tom konstruktor och getters/setters för alla fält. Det är inte mycket att tolka, det bara är så..

edit: Kan ju tillägga att tomma konstruktorer brukar anses dåliga (vilket de är). Moderna ramverk för dependency injection kan injicera konstruktorparametrar så det finns egentligen ingen anledning att skippa konstruktorn, såvida något annat inte tvingar en.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Skrivet av Teknocide:

Osäker på vad du menar med hur du ska "tolka Java Beans som". En Java Bean är en klass som implementerar Serializable, har tom konstruktor och getters/setters för alla fält. Det är inte mycket att tolka, det bara är så..

Men i Spring ramverk så skriver man in massa text i Java Beans med Spring Context. Jag själv förstår inte.

Permalänk
Medlem
Skrivet av heretic16:

Men i Spring ramverk så skriver man in massa text i Java Beans med Spring Context. Jag själv förstår inte.

Jag använder inte Spring (eller Java för den delen, vanligtvis) men är rätt säker på att deras dependency injection-lösning har stöd för så kallad "constructor injection" sedan ett par år tillbaka.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

XML initialisering är inte sällsynt att se i samband med bean-klasser, men det är inte en del av bean standarden. Som @Teknocide säger så säger bean standarden bara att

En klass är en Bean om den:
1) implementerar Serializable, i.e. är ok för Java att konvertera till en byte-ström.
2) har en konstruktor som inte tar några argument, i.e. fält måste ofta initialiseras efter att konstruktorn körts.
3) bara har privata fält, och alla fält har getters/setters.

Jag misstänker dock att du är inne på lite fel spår. Java beans talas sällan om i dagsläget, speciellt utanför enterprise. Nuförtiden betraktas punkterna 1-3 ofta fristående från varandra för varje klass. Klasser med namn i stil med MonitorBean ses idag ofta som tecken på omodern/dålig kod.

Visa signatur

Arbets- / Spelstation: Arch Linux - Ryzen 5 3600 - RX 7900 XT - 32G DDR4
Server: Arch Linux - Core i5-10400F - 16G DDR4

Permalänk
Skrivet av Bryal:

XML initialisering är inte sällsynt att se i samband med bean-klasser, men det är inte en del av bean standarden. Som @Teknocide säger så säger bean standarden bara att

En klass är en Bean om den:
1) implementerar Serializable, i.e. är ok för Java att konvertera till en byte-ström.
2) har en konstruktor som inte tar några argument, i.e. fält måste ofta initialiseras efter att konstruktorn körts.
3) bara har privata fält, och alla fält har getters/setters.

Jag misstänker dock att du är inne på lite fel spår. Java beans talas sällan om i dagsläget, speciellt utanför enterprise. Nuförtiden betraktas punkterna 1-3 ofta fristående från varandra för varje klass. Klasser med namn i stil med MonitorBean ses idag ofta som tecken på omodern/dålig kod.

Det tror jag också. Jag har hållit på med "Bean Configuration" och där kunde man ställa in parametrar för fält och objekt för klasser helt grafiskt utan att ens behöva skriva javakod. Mycket användbart.

Permalänk

Bör jag lära mig Spring Beans? Eller är det bara onödigt?

Skickades från m.sweclockers.com