Zastosowanie adnotacji autowired w Springu, dopisanie wartości dla właściwości.

Odpowiedz Nowy wątek
2014-05-24 18:11
0

Mam pewien problem ze zrozumieniem jednego zagadnienia w Springu.

Jak mamy np. taką sytuację:
(z pliku xml)

<bean id="osoba" class="com.person.osoby.Osoba"> <property name="imie" value="Jan" /> <property name="nazwisko" value="Kowalski" /> <property name="wiek" value="20" /> </bean>

Czyli jest to powiązenie właściwości (imie, nazwisko, wiek) z komponentem osoba.

Chciałbym to samo napisać ale nie wykorzystując xml, tylko wykorzystując adnotacje.

I tutaj wiem że jest adnotacja @Autowired

np. robię to tak

metody setImie(), setNazwisko(), setWiek() oznaczam adnotacją @Autowired

jest dla mnie jasne że teraz mam powiązane właściwości (imie, nazwisko, wiek) z komponentem osoba.
Ale jak teraz przekazać wartości ??? Co zastępuje value tego nie rozumiem.

Pozostało 580 znaków

2014-05-24 19:04
0

stackoverflow.com/questions/2[...]operty-placeholder-autowiring

W skrócie jest od tego adnotacja value. I mam nadzieję że interesuje cię taka sytuacja jak na SO a nie taka dziwna jaka pokazałeś...


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2014-05-24 19:08
0

Cześć,

Nie możesz automatycznie wiązać typów prostych i Stringów, przy takowej próbie Spring powinien rzucić wyjątkiem. Użyj adnotacji @Value("wartość") na polach:

public class osoba{

    @Value("Jan")
    private String imie;
    @Value("Kowalski")
    private String nazwisko;
    @Value("20")
    private int wiek;
}

albo poprzez konstruktor:

class osoba{
    private String imie;
    private String nazwisko;

    @Autowired
    public osoba(@Value("Jan")String imie, @Value("Kowalski")String nazwisko)
    {
        this.imie=imie;
        this.nazwisko=nazwisko;
    }

}

Są jeszcze inne opcje, np język Spel.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0