Oto wypracowane przez lata i zebrane najlepsze praktyki w springu:
- użyj conajmniej 2-3 adnotacji nad metodą/klasą, jeśli tak nie wiedz że coś robisz nie tak
- field injection - to jeden z najlepszych sposóbów na uniknięcie konstruktorów na 30 parametrów. Wstrzyknij i działaj. Da się to łatwo przetestować dzięki refleksji - bądź pragmatyczny nie słuchaj purystów.
- jeśli martwi cię zbyt duża ilość wstrzykniętych obiektów jest na to sposób! Wystarczy wstrzyknąć
ApplicationContext
i użyć metodygetBean()
tam gdzie jej potrzebujesz. - warstwowa struktura, porty i adaptery - to przeżytek. Wstrzykuj repozytoria w controllerach, zaoszczędzisz cykle procesora, a kod będzie prostszy - w końcu robisz wszystko tam gdzie tego potrzebujesz.
- walidacja i obsługa wyjątków powinna zostać przekazana do
@ExceptionHandlerów
: stwórz jeden generyczny exception handler i parsuj exceptiony na zwrotki o błędach - to takie proste! - Jeśli w twoich konstruktorach dużo się dzieje, stwórz dodatkową metodę i opatrz ją adnotacją
@PostConstruct
- wtedy wszystko się stanie tuż po utworzeniu obiektu, a twój konstruktor będzie przejrzysty
UWAGA: To nie jest ASZdziennik, ale myślę że mógłby nim być.