• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SPRING(repository, service)

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
1,438 wizyt
pytanie zadane 16 października 2020 w Java przez Stararara Początkujący (300 p.)
Witam,

od pewnego czasu trochę koduję w springu, wiem że jest ustalony model controller-service-repository,

lecz chciałbym się dowiedzieć za co odpowiadają konkretnie pakiety.

Jak narazie wiem że controllers'y odpowiadają za komunikacje z http, tworzeniem endpointów.

1 odpowiedź

0 głosów
odpowiedź 16 października 2020 przez Wiciorny Ekspert (281,250 p.)

wiem że jest ustalony model controller-service-repository,

to nie jest ustalenie, to jest pewnego rodzaju umowność: w zależności od Projektu, konfiguracji, modelowania API to jest zmienne. 
Bardzo często wygląda  to podobnie, ale nie jest to reguła.

Generalnie opiera się to o wzorzec MVC w springu https://www.simplilearn.com/spring-mvc-tutorial
zapraszam do lektury  np. dokumentacji 
https://docs.spring.io/spring-framework/docs/3.2.x/spring-framework-reference/html/mvc.html 
Masz dokładnie objaśnione czym jest Context Aplikacji, jakie moduły posiada :)


I to nie są PAKIETY, a warstwy "layers" 
https://softwareengineering.stackexchange.com/questions/337274/what-are-repositories-services-and-actions-controllers/337897|

W skrócie dla leniuszka : 

W Springu funkcjonuje coś, co nazywamy stereotypami. Stereotypy to adnotacje, które dodajemy przed klasę (adnotujemy nimi klasę). Są one swego rodzaju znacznikami, które mówią Springowi, że ta klasa ma pewną specjalną funkcję. Są cztery podstawowe stereotypy:

  • @Component — bazowy stereotyp, oznacza, że na podstawie tej klasy będzie utworzony bean Springa (innymi słowy: klasa ta jest zarządzana przez Spring’a, lub też cykl życia tej klasy będzie zarządzany przez Springa). Tego stereotypu używamy najczęściej do klas, które są pomocnicze i nie oferują elementów logiki biznesowej, a jedynie pomocnicze funkcje (np. konwersja między typami, jakieś wspólne elementy)
  • @Service — stereotyp który wskazuje, że ta klasa jest serwisem, tzn. oferuje pewną logikę biznesową którą będziemy wykorzystywać w innych miejscach (np. kontrolerach; ogólnie w wyższych warstwach — o warstwach opowiemy sobie szerzej w przyszłości)
  • @Repository — wskazuje że klasa pozwala na dostęp do danych, np. wspiera obsługę bazy danych. Adnotacje tą stosujemy np. w obiektach typu DAO, za 3 lekcje zobaczymy w jaki sposób uprości nam ona obsługę bazy danych.
  • @Controller — oznaczamy nią kontrolery, tj. klasy, które będą obsługiwały zapytania wysyłane poprzez przeglądarkę od użytkowników.
komentarz 5 sierpnia 2021 przez kritishah Nowicjusz (100 p.)

IgmGuru, presenting one of the best DevOps training online. The DevOps course online embraces the crack between operational professionals and software developers and also provides superior training on practicing DevOps tools and techniques. If you desire to be a successful DevOps engineer, there is no better stop than us. Learn DevOps and earn self-confidence to sprout your career. Register for the DevOps Online training now and prepare for the Devops Certification Exam.

Podobne pytania

0 głosów
2 odpowiedzi 326 wizyt
pytanie zadane 24 czerwca 2019 w Java przez SztyJkmajster Z Pols Nowicjusz (240 p.)
0 głosów
1 odpowiedź 253 wizyt
pytanie zadane 26 czerwca 2019 w Java przez SztyJkmajster Z Pols Nowicjusz (240 p.)
0 głosów
2 odpowiedzi 387 wizyt
pytanie zadane 5 kwietnia 2019 w Java przez niezalogowany

93,431 zapytań

142,427 odpowiedzi

322,653 komentarzy

62,795 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...