Tworzenie aplikacji internetowych z wykorzystaniem szkieletu aplikacyjnego Spring oraz Spring MVC - 3 pytania i odpowiedzi ze szkolenia (sierpień 2016)

Pytania w tym artykule pojawiły się podczas szkolenia Tworzenie aplikacji internetowych z wykorzystaniem szkieletu aplikacyjnego Spring oraz Spring MVC  realizowanego w dniach 22-26.08.2016r.


Którą metodę wstrzykiwania zależności wybrać ?

W spring mamy do dyspozycji 3 metody: przez konstruktor, przez pole oraz poprzez seter. Wstrzykiwanie przez konstruktor jest najbardziej wyraziste ponieważ nie da się utworzyć obiektu bez wymaganych zależności. Jednak wstrzykiwanie przez konstruktor posiada ograniczenia związane z wstrzyknięciami cyklicznymi. Tak więc na polu boju pozostały dwie metody. Pierwsza przez seter umożliwią ułatwienie testowania ze względu na setery jednak problemem jest kod klasy który jest zanieczyszczony "dziwnymi" metodami. Najmniej inwazyjnymi metodami jest wstrzykiwanie przez pole które powinniśmy preferować

Jaki wybrać język template'ów w Spring MVC ?

Aktualnie najpopularniejszym wyborem jest Thymeleaf którego wybierają sami twórcy Spring'a tworząc swoje tutoriale. Również dobrze sprawdza się Freemarker. Rzadko kiedy już przy nowych projektach wybiera się JSP

Czy kontrolery restowe mogą zwrócić XML ?

Choć domyślnym formatem jest JSON to kontrolery restowe również mogą zwraca inne typy w tym XML. Wszystko zależy od tego jakie mamy skonfigurowane konwertery, które są na podstawie np. nagłówków (Content-type) tworzą końcową postać odpowiedz