Gdzie umieścić logikę biznesową w Spring mvc framework?

Nie wiem gdzie umieścić logikę biznesową w spring mvc, bo jestem w niej nowy. Mam pojęcie co robić, ale z powodu braku wiedzy na wiosnę Nie wiem od czego zacząć. Chciałbym również zapytać, czy ktoś wie, gdzie mogę uzyskać dobry samouczek na ten temat lub pełną próbkę aplikacji webowej spring mvc, która ma logikę biznesową na nim? W każdym razie, logika biznesowa, o której mówiłem, dotyczy obsługi baz danych:)

Author: Luiggi Mendoza, 2014-08-18

3 answers

@Controller klasy służą jako C z MVC . Zauważ, że prawdziwym kontrolerem w Spring MVC jest DispatchServlet, który użyje specyficznej klasy @Controller do obsługi żądania adresu URL.

@Service klasy powinny służyć do warstwy usług. tutaj powinieneś umieścić swoją logikę biznesową.

@Repository klasy powinny służyć do warstwy dostępu do danych. Tutaj należy umieścić logikę CRUD: insert, update, delete, select.

@Service, @Repository A Twoje klasy bytu będą m od MVC . JSP i inne technologie widzenia(np. JSP, Thymeleaf itp.)będzie zgodne V z MVC .

@Controller klasy powinny mieć dostęp tylko do klas @Service poprzez interfejsy. Podobne klasy @Service powinny mieć dostęp tylko do innych klas @Service i dla określonego zestawu klas @Repository poprzez interfejsy.

 38
Author: Luiggi Mendoza,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-18 09:00:46

Wiele osób zalecałoby dodanie logiki biznesowej do warstwy usług. Osobiście dowiaduję się, że to nie jest dobry pomysł, szczególnie, gdy zaczynasz testować: możesz mieć do czynienia albo z uporem i logiką biznesową w tym samym czasie, lub wyśmiewanie wszystkiego wokół, a potem rzeczy mogą być bardzo niechlujne.

Polecam przeczytać ten artykuł przed podjęciem jakichkolwiek wniosków: największa wada wiosennych aplikacji internetowych

Wznowienie, pomysłem byłoby przeniesienie logika biznesowa do warstwy modelu i uprościć swoje metody usług.

 9
Author: Gigi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-01 08:26:13

Ogólnie rzecz biorąc, twoja logika biznesowa wchodzi w warstwę usług. Chociaż możesz umieścić podstawowe zasady walidacji w swoich POJO z adnotacjami JSR.

Dla aplikacji Spring MVC masz kontrolery, które obsługują żądania http i warstwę domeny, które są pojami reprezentującymi twoje modele biznesowe. Często masz warstwę trwałości lub DAO. Możesz mieć również warstwę usług, za pomoc w nietrywialnej logice.

Twój komentarz o obsłudze baz danych nie ma sensu. Biznes zasady są ortogonalne do przechowywania danych. Obsługa bazy danych powinna znajdować się w warstwie trwałości.

 0
Author: Neil McGuigan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-18 02:00:44