- Zainstaluj środowisko IntelliJ IDEA.
- Wykonaj
fork
tego projektu. - Zaimportuj projekt do IntelliJ:
- W pliku
com.example.MyNameMessageServiceTest
w teścieshouldReturnMyNameAsMessage
ustaw wartość zmiennejexpectedMessage
na swoje imię i nazwisko (np.String expectedMessage = "Jan Kowalski
). - Uruchom test
MyNameMessageServiceTest
, upewnij się że nie działa. - Wprowadź odpowiednie zmiany w klasie
com.example.MyNameMessageService
aby naprawić niedziałający test. - Uruchomi metodę
main
w klasieMyApp
, upewnij się że Twoje imię i nazwisko jest wyświetlane na ekranie. - Dodaj klasę
RandomTextMessageService
implementującąMessageService
. Klasa ta jako swój atrybut powinna posiadać tablicę (lub dowolny kontener) zawierającą 10 różnych wiadomości. MetodagetMessage
tej klasy powinna zwracać losowo jedną z wiadomości przechowywanych wewnątrz klasy. - Zmodyfikuj plik
applicationContext.xml
tak, aby uruchamiając metodęmain
w klasieMyApp
wykorzystywana była klasaRandomTextMessageService
a nieMyNameMessageService
. - W metodzie
main
klasyMyApp
dodaj drugą zmienną typuMessageService
, przypisz to niej ten sam Spring Bean co do wcześniejszej zmiennej. - Wypisz na ekran hashCode obu zmiennych - czy są one identyczne?
- Zmodyfikuj plik
applicationContext.xml
i zmień scope bean'amessageService
na taki, aby hashCode powyższych zmiennych był różny. - W pliku
applicationContext.xml
zakomentują linię z<bean></bean>
i odkomentuj linię z<component-scan>
. - Do klasy
MyNameMessageService
dodaj adnotację@Component("messageService")
. - Do klasy
RandomTextMessageService
dodaj właściwą adnotację@Component
(taką, aby kod działał poprawnie).
- Skopiuj poprzedni kod albo zmodyfikuj go w taki sposób, aby być w stanie zademonstrować działanie obu zadań bez konieczności komentowania/zmian kodu
- Usuń z kodu plik
applicationContext.xml
i zastąp go konfiguracją w Jaview. Podpowiedzi jak to zrobić można znaleźć tutaj. - Należy wprowadzić takie zmiany, aby projekt się kompilował i testy przechodziły.