Top 35 pytań i odpowiedzi podczas wywiadu wiosennego: ostateczny przewodnik 2022

Opublikowany: 2021-01-08

Masz nadchodzący wywiad dotyczący Spring Framework? Być może trafiłeś na tę stronę, ponieważ polujesz na najczęstsze pytania do wywiadów Spring Framework . Na naszym blogu omówimy najczęściej zadawane pytania i odpowiedzi na wiosenne wywiady.

Jeśli przejdziesz przez to, są szanse, że wypadniesz niesamowicie podczas rozmowy kwalifikacyjnej. Zanim zaczniemy, przedstawimy krótki opis ogólnego zapotrzebowania na Spring Framework na obecnym rynku.

Przeczytaj: Deweloperzy pełnego stosu popytu w Indiach

Spring sprawia, że ​​język programowania Java jest szybszy, prostszy i bezpieczny dla wszystkich. Jego głównym celem jest szybkość, ale jest prosty i wydajny. Dzięki temu stał się jednym z najpopularniejszych na świecie frameworków Java. Biblioteki są elastyczne i niezawodne. Jest używany w wielu miejscach, takich jak zakupy online, samochody połączone i bardziej innowacyjne technologie.

Chwali się także swoim wkładem w wielkie giganty, takie jak Amazon, Google i Alibaba. Co więcej, społeczność Spring jest ogromna. Obejmuje wszystkie grupy wiekowe i jest bardzo zróżnicowana. Znajdziesz świetne zasoby i wsparcie online, aby przejść na wyższy poziom, dzięki czemu Twoja podróż będzie łatwa.

Jeśli jesteś programistą Java, Spring Framework jest dla Ciebie kluczowy. Wiele firm wymaga od programisty zrozumienia Spring Framework lub przynajmniej znajomości niektórych jego modułów.

Oto kilka najważniejszych pytań i odpowiedzi na wiosenne rozmowy kwalifikacyjne, których możesz się spodziewać po rozmowie kwalifikacyjnej.

Spis treści

Wiosenny wywiad Pytania i odpowiedzi 2020

P.1 Jakie są różne wersje Spring Framework, które można znaleźć i jakie są ich główne cechy?

Trzy wersje to Spring 2.5, Spring 3.0 i Spring 4.0.

Spring 2.5 był pierwszą wersją obsługującą adnotacje. Został wydany w 2007 roku. Spring 3.0 wykorzystywał aktualizacje Java5, a ponadto oferował pomoc dla JEE6. Został wydany dwa lata później, w 2009 roku. Wariant Spring 4.0 był głównym wariantem oferującym kompleksowe wsparcie dla Javy 8. Został wydany w 2013 roku.

Q.2 Opisz lub zdefiniuj Spring Framework

Jest to platforma Java typu open source. Jest używany jako opcja dla ciężkich korporacyjnych technologii Java. Mówiąc prościej, upraszcza programowanie w języku Java, ponieważ jest lekki. Programiści mogą tworzyć aplikacje przy użyciu Spring Framework i wdrażać je nawet na komputerach z ograniczoną ilością pamięci i zasobów procesora. Ponadto oferuje wsparcie dla różnych innych frameworków, w tym między innymi Tapestry, JSF, EJB, Hibernate, Struts i innych.

Przeczytaj: Pomysły i tematy projektów pełnego stosu

P.3 Jakie są zalety Spring Framework?

  • Spring Framework jest oprogramowaniem typu open source i nie jest uzależniony od żadnego dostawcy.
  • Możesz używać tylko tego, czego naprawdę potrzebujesz, ze względu na używaną architekturę warstwową.
  • Spring Framework wykorzystuje POJO, co znacznie ułatwia testowanie aplikacji.
  • Możesz go używać ze wszystkimi innymi frameworkami Java z Spring Frameworks. Nie nakłada żadnych ograniczeń ani ograniczeń.
  • Spring Framework to modułowa platforma. Jest bardzo elastyczny.

P.4 Jakie są różne funkcje Spring Framework?

  • Lekkość: Spring Framework jest lekki, gdy mówimy o jego przezroczystości i rozmiarze.
  • Odwrócenie kontroli: jest to zasada, w której przepływ kontroli programu jest odwrócony. Tutaj zewnętrzne źródła, takie jak usługi, framework i inne komponenty, kontrolują przepływ programu zamiast programisty.
  • Programowanie Aspektowe: Programowanie Aspektowe w Springu wspiera tworzenie powiązań poprzez oddzielenie usług systemowych od logiki biznesowej aplikacji.
  • Kontener: Kontener jest rdzeniem Spring Framework. To kontener tworzy obiekty, wiąże je, konfiguruje i odpowiada za ich pełny cykl życia, który trwa od stworzenia do końca.
  • MVC Framework: Framework aplikacji internetowych MVC Spring Framework jest łatwy w użyciu i można go konfigurować. Możesz użyć innych frameworków zamiast wybierać Spring MVC Framework.
  • Zarządzanie transakcjami: Spring Framework wykorzystuje ogólną warstwę abstrakcji do zarządzania transakcjami. Możesz korzystać z obsługi transakcji Springa w środowiskach z mniejszą liczbą kontenerów.
  • Obsługa wyjątków JDBC: Nie trzeba jawnie obsługiwać żadnych wyjątków związanych z bazą danych. Spring JDBC Framework obsługuje to za pomocą obsługi wyjątków JDBC.

Przeczytaj: Pytania do wywiadu z programistami Full Stack

P.5 Ile modułów można znaleźć w Spring Framework? Nazwij je.

Możesz znaleźć dwadzieścia modułów, które są podzielone na kategorie Core Container, Web, Data Access/Integration, AOP (Aspect Oriented Programming), oprzyrządowanie i Test.

Spring Core Container: Jak sama nazwa wskazuje, jest to podstawowy kontener Spring Framework. Składa się z

  • Rdzeń sprężyny
  • Fasola Wiosenna
  • Język wyrażeń wiosennych
  • Kontekst wiosenny

Sieć: ta warstwa zapewnia wsparcie przy tworzeniu aplikacji internetowej. Składa się z następujących modułów:

  • Sieć
  • Sieć – MVC
  • Sieć — gniazdo
  • Sieć – Portlet

Dostęp do danych/integracja: ta warstwa zapewnia wsparcie w komunikacji z bazą danych. Składa się z następujących modułów:

  • Łączność z bazą danych Java — JDBC
  • Mapowanie relacyjne obiektów – ORM
  • Obiekty mapujące XML – OXM
  • Usługa wiadomości Java – JMS
  • Transakcja

Programowanie zorientowane na aspekt: ​​W tej warstwie programiści mogą używać punktów, porad itp., aby oddzielić kod.

Instrumentacja: ta warstwa zapewnia obsługę implementacji klas ładujących i instrumentacji klas.

Test: ta warstwa zapewnia wsparcie dla testowania za pomocą TestNG i Junit.

Możesz również znaleźć inne różne węzły, takie jak:

Komunikaty: Ten moduł oferuje pomoc dla STOMP. Pomaga również jako model programowania adnotacji, który jest wymagany w routingu i przetwarzaniu komunikatów STOMP z klientów WebSocket.

Aspekty: Ten moduł oferuje wsparcie dla integracji z AspectJ.

P.6 Co to jest plik konfiguracyjny Springa?

Jest to w zasadzie plik XML. Wszystkie informacje o klasach znajdziesz w tym pliku. Dalej opisuje, jak te klasy są skonfigurowane i znane sobie nawzajem. Pliki konfiguracyjne XML są szczegółowe, dlatego konieczne jest utrzymanie ich w czystości. W przeciwnym razie zarządzanie nimi stanie się trudne, jeśli Twój projekt jest duży.

P.7 Opisz różne komponenty aplikacji Spring.

Zazwyczaj aplikacja Spring składa się z następujących komponentów:

  • Interfejs: Wszystkie funkcje są zdefiniowane w interfejsie.
  • Klasa Bean: Tutaj możesz znaleźć właściwości wraz z funkcjami set i get.
  • Spring Aspect-Oriented Programming (AOP): Zapewnia funkcjonalność zagadnień przekrojowych.
  • Bean Configuration File: Ten plik zawiera szczegółowe informacje o klasach i sposobie ich konfiguracji.
  • Program użytkownika: program użytkownika korzysta z funkcji.

P.8 Wyjaśnij różne sposoby korzystania ze Spring Framework

Spring Framework może być używany na kilka sposobów, takich jak:

  • Spring Framework może być używany jako kompleksowa aplikacja internetowa Spring.
  • Spring Framework może być używany jako platforma internetowa innej firmy, używając Spring Frameworks warstwy pośredniej.
  • Spring Framework może być używany do zdalnego użytkowania.
  • Spring Framework może być używany jako Enterprise Java Bean, który może otaczać istniejące POJO.

P.9 Co to jest wiosenny kontener IOC?

Kontener jest rdzeniem Spring Framework. To kontener tworzy obiekty, wiąże je, konfiguruje i odpowiada za ich pełny cykl życia, który trwa od stworzenia do końca.

Kontener Spring wykorzystuje Dependency Injection do zarządzania komponentami, które tworzą aplikację. Kontener otrzymuje wskazówki dotyczące tworzenia, ustawiania i wywoływania obiektów, odczytując metadane konfiguracji podane przez adnotacje Java, kod Java lub XML.

P.10 Co to jest wstrzykiwanie zależności?

W Dependency Injection zamiast tworzyć obiekty, po prostu opisujesz je, jak je tworzyć. Deweloperzy muszą opisać, które usługi są wymagane przez dany komponent w pliku konfiguracyjnym. Nie ma potrzeby bezpośredniego łączenia usług z komponentami w kodzie. Są one połączone razem przez kontener Spring IoC.

P11 Na ile metod można wykonać wstrzykiwanie zależności?

Istnieją trzy sposoby Dependency Injection, takie jak:

  • Wstrzyknięcie konstruktora
  • Wtrysk setera
  • Wstrzykiwanie interfejsu

Jednak w Spring Framework używane są tylko iniekcje konstruktora i iniekcje ustawiające.

P12 Co odróżnia wstrzykiwanie konstruktora od wstrzykiwania ustawiającego.

Wstrzyknięcie konstruktora Wtrysk setera
Nie ma niepełnego lub ograniczonego wtrysku. Wstrzyknięcie może być niepełne lub ograniczone.
Nie zastępuje właściwości setter. Zastępuje właściwość konstruktora.
Tworzy nową instancję, jeśli dokonana zostanie jakakolwiek zmiana. Nie tworzy żadnej nowej instancji w przypadku wprowadzenia zmiany.
Działa lepiej w przypadku wielu właściwości. Działa lepiej w przypadku mniejszej liczby właściwości.

P13 Ile rodzajów kontenerów IOC jest dostępnych wiosną?

Zazwyczaj można znaleźć dwa kontenery IOC, a mianowicie:

  1. BeanFactory: BeanFactory to rodzaj klasy fabrycznej, która obejmuje grupę ziaren. Tworzy instancję fasoli na żądanie klientów.
  2. ApplicationContext: interfejs ApplicationContext jest tworzony nad interfejsem BeanFactory. Oferuje dodatkową funkcjonalność, poza tą, którą zapewnia BeanFactory.

Q.14 Opowiedz nam o kilku różnicach między BeanFactory i ApplicationContext.

Fasola Kontekst aplikacji
Jest to interfejs wyjaśniony w org.springframework.beans.factory.BeanFactory Jest to interfejs wyjaśniony w org.springframework.context.ApplicationContext
Używa inicjalizacji Lazy Używa agresywnej inicjalizacji
Podaje jawnie obiekt zasobu za pomocą składni Samodzielnie buduje i zarządza obiektami zasobów
Nie pomaga w internacjonalizacji Pomaga w internacjonalizacji
Nie pomaga w zależności opartej na adnotacjach Pomaga w zależności opartej na adnotacjach

P15 Jakie są zalety IoC?

Niektóre z zalet IoC to:

  • Zmniejszy to ilość kodu potrzebnego w Twojej aplikacji.
  • Twoja aplikacja jest o wiele łatwiejsza do przetestowania, ponieważ nie potrzebuje żadnych singli ani mechanizmów wyszukiwania JNDI w testach jednostkowych.
  • Zachęca do luźnego łączenia przy minimalnym wysiłku i najmniej inwazyjnym mechanizmie.
  • Ułatwia szybkie tworzenie instancji i leniwe ładowanie usług.

P16 Co to jest fasola wiosenna?

Spring Beans to obiekty, które służą jako szkielet aplikacji użytkownika. Fasola jest kontrolowana przez kontener Spring IoC. Kontrolując to oznacza, że ​​są one tworzone, konfigurowane, okablowane i zarządzane przez kontener Spring IoC. Beans są tworzone przy użyciu metadanych konfiguracyjnych, które użytkownicy dostarczają do kontenera.

P17 W jaki sposób metadane konfiguracyjne są dostarczane do kontenera Spring?

Metadane konfiguracyjne można przekazać kontenerowi Spring na jeden ze sposobów:

  • Konfiguracja oparta na adnotacjach: można użyć adnotacji w odpowiedniej klasie, aby opisać okablowanie fasoli do samej klasy komponentów. Nie jest to ustawienie domyślne. Tak więc, jeśli chcesz go użyć, musisz włączyć go w pliku konfiguracyjnym Spring, zanim będzie można go użyć.
  • Konfiguracja oparta na XML: zależności i usługi wymagane przez komponenty bean są wymienione w plikach konfiguracyjnych. Są w formacie XML. Obejmują one wiele definicji ziaren i opcji konfiguracyjnych specyficznych dla aplikacji. Zwykle zaczynają się od tagu fasoli.
  • Konfiguracja oparta na Javie: Podstawowe funkcje nowej obsługi konfiguracji Java Spring Framework to metody z adnotacjami @Bean i klasy z adnotacjami @Configuration.

P18 Ile zakresów fasoli obsługuje Spring?

Obsługuje pięć zakresów, które są:

  • Singleton: Daje to zakres definicji ziarna do jednej instancji na kontener Spring IoC.
  • Prototyp: Daje to możliwość, aby pojedyncza definicja ziarna zawierała dowolną liczbę instancji obiektu.

Poniższe zakresy są dostępne tylko wtedy, gdy użytkownicy korzystają z ApplicationContext z obsługą sieci Web.

  • Żądanie: Daje zakres definicji komponentu bean do żądania HTTP.
  • Sesja: Daje zakres definicji bean do sesji HTTP.
  • Sesja globalna: Daje zakres definicji ziarna do globalnej sesji HTTP.

Q.19 Wyjaśnij cykl życia fasoli w pojemniku Spring Bean Factory

  1. Kontener Spring najpierw tworzy instancję ziarna z definicji ziarna w pliku XML.
  2. Spring przy użyciu iniekcji zależności wypełnia wszystkie właściwości.
  3. Fabryka wywołuje setBeanName(), podając identyfikator ziarna, jeśli ziarno uruchamia interfejs BeanNameAware.
  4. Fabryka wywołuje setBeanFactory(), tworząc własną instancję, jeśli ziarno wykonuje interfejs BeanFactoryAware.
  5. Jeśli istnieją jakieś BeanPostProcessors powiązane z ziarnami, wywoływane są metody preProcessBeforeInitialization() .
  6. Jeśli ziarno określa metodę init, jest ona następnie wywoływana.
  7. Jeśli istnieją jakieś BeanPostProcessors powiązane z ziarnami, wywoływane są metody preProcessAfterInitialization().

P.20 Wyjaśnij okablowanie fasoli

Okablowanie fasoli ma miejsce, gdy wszystkie ziarna są połączone razem w pojemniku Spring. Kontener Spring musi rozumieć, jakie ziarna są wymagane i jak powinien wykorzystywać wstrzykiwanie zależności, aby połączyć ziarna ze sobą.

P.21 Co to jest automatyczne okablowanie i nazwij różne tryby automatycznego okablowania?

Pojemnik Spring ma możliwość automatycznego łączenia relacji między łączącymi ziarnami. Spring może automatycznie rozpoznać współpracowników dla Twojej fasoli, widząc zawartość BeanFactory.

Różne tryby automatycznego okablowania ziaren to:

  1. nie: Jest to opcja wstępnie wybrana, co oznacza brak automatycznego okablowania. Musisz użyć wyraźnego odniesienia do fasoli do okablowania.
  2. byName: wstrzykuje zależność obiektu na podstawie nazwy ziarna. Łączy i łączy swoje właściwości z ziarnami wyjaśnionymi dokładnymi nazwami w pliku XML.
  3. byType: Jak sama nazwa wskazuje, wstrzykuje zależność obiektu zgodnie z typem. Dopasowuje i łączy właściwość, jeśli typ pasuje do jednej z nazw ziaren w pliku XML.
  4. Konstruktor: Konstruktor wstrzykuje zależność, wywołując konstruktora klasy. Posiada wiele parametrów.
  5. Automatyczne wykrywanie: domyślnie kontener automatycznie łączy się za pomocą konstruktora. Jeśli to się nie powiedzie, próbuje automatycznie połączyć się przez byType.

P.22 Jakie są ograniczenia lub ograniczenia automatycznego okablowania?

Istnieje kilka ograniczeń/ograniczeń, z którymi trzeba się zmierzyć podczas korzystania z okablowania automatycznego, takich jak:

  • Możliwość nadpisania: Używając ustawień <constructor-arg> i <property>, możesz określić zależności. Zastąpi to automatyczne okablowanie.
  • Pierwotny typ danych: Pierwotny typ danych, klasy i ciągi nie mogą być automatycznie łączone.
  • Skomplikowana natura: Jawne okablowanie jest preferowane w porównaniu z automatycznym okablowaniem, ponieważ to drugie jest z natury mylące.

P23 Co to jest konfiguracja kontenera oparta na adnotacjach?

Alternatywa dla konfiguracji XML, konfiguracja kontenera oparta na adnotacjach, służy do opisywania okablowania fasoli. Deweloper przenosi konfigurację do klasy komponentu za pomocą adnotacji w deklaracji metody, klasy lub pola.

P24 Jak włączyć okablowanie adnotacji wiosną?

Okablowanie adnotacji jest domyślnie wyłączone w kontenerze Spring. Tak więc, aby używać okablowania opartego na adnotacjach, należy je włączyć w pliku konfiguracyjnym Spring, ustawiając element <context:annotation-config/>.

P25. Wyjaśnij różnicę między różnymi adnotacjami, takimi jak @Controller, @Component, @Repository i @Service in Spring?

@Controller: Wskazuje klasę jako kontroler Spring Web MVC. Automatycznie importuje oznaczone nim ziarna do kontenera Dependency Injection.

@Component: Wskazuje klasę Java jako fasolę. Jest to ogólny stereotyp każdego komponentu zarządzanego przez Spring. Proces skanowania komponentów w Springu może go pobrać i przeciągnąć do kontekstu aplikacji.

@Service: Ta adnotacja to obszar adnotacji komponentu. Nie ma nowego zachowania nad adnotacją @Component. Można użyć @Service zamiast @Component w klasach warstwy usług, ponieważ odpowiednio określa intencję.

@Repository: Ta adnotacja jest obszarem adnotacji @Component. Ma te same funkcje i zastosowania. Oferuje jednak dodatkowe korzyści, właśnie dla DAO. Pobiera obiekty DAO do kontenera DI i kwalifikuje niesprawdzone wyjątki do tłumaczenia na Spring DataAccessException.

Q.26 Opisz obsługę Spring DAO

Obsługa Data Access Object w Springu ułatwia dostęp do technologii takich jak Hibernate, JDBC lub JDO w odpowiedni i stabilny sposób. Umożliwia wybór dowolnej technologii bez żadnych kłopotów. Umożliwia także kodowanie bez stresującego się łapaniem wyjątków, które są związane z każdą z tych technologii.

P27 Jakie klasy są dostępne w wiosennym API JDBC?

Klasy, które są obecne w JDBC API to:

  1. Szablon Jdbc
  2. Prosty szablon Jdbc
  3. NamedParameterJdbcTemplate
  4. SimpleJdbcInsert
  5. Proste połączenie Jdbc

P28 Jakie są metody dostępu do Hibernate za pomocą Spring?

Istnieją dwie metody dostępu do Hibernate za pomocą Spring:

  1. Metoda Inversion of Control z szablonem wywołania zwrotnego i hibernacji.
  2. Zastosowanie węzła AOP Interceptor i rozszerzenie HibernateDAOSupport.

P29 Wymień typy zarządzania transakcjami obsługiwane przez Spring

Spring obsługuje dwa rodzaje zarządzania transakcjami. Oni są:

  1. Programowe zarządzanie transakcjami: Tutaj transakcja jest kontrolowana za pomocą programowania. Zapewnia dużą elastyczność. Jednak trudno go utrzymać.
  2. Deklaratywne zarządzanie transakcjami: tutaj zarządzanie transakcjami jest oddzielone od kodu biznesowego. Do kontroli transakcji można używać tylko adnotacji lub konfiguracji opartych na XML.

P.30 Opisz AOP

AOP jest znane jako programowanie z rozmieszczeniem aspektu. Jest to system programowania, który pozwala inżynierom oprogramowania modularyzować problemy przekrojowe lub postępowanie wykraczające poza standardowe podziały obowiązków. Przykładami problemów przekrojowych są rejestrowanie i zarządzanie transakcjami. Sednem AOP jest aspekt . Jest przykładem praktyk, które mogą wpływać na różne klasy w moduły wielokrotnego użytku.

P31 Co rozumiesz przez Aspekt?

Aspektem jest modularyzacja troski, która obejmuje wiele obiektów. Dobrym przykładem problemów przekrojowych w J2EE mogą być aplikacje do zarządzania transakcjami. Aspekty są wykonywane przy użyciu zwykłych klas lub zwykłych klas wyjaśnionych za pomocą adnotacji @Aspect w Spring Framework.

P.32 Co to jest JoinPoint

Punkt, w którym wykonanie programu nazywa się JoinPoint, na przykład obsługa wyjątku lub wykonanie metody. W Spring AOP JoinPoint konsekwentnie reprezentuje wykonanie metody.

P33 Co rozumiesz przez platformę Spring MVC?

Spring web framework MVC oferuje architekturę model-widok-kontroler i gotowe do użycia komponenty. Możesz użyć tych komponentów do tworzenia elastycznych i luźno powiązanych aplikacji internetowych. Wzorzec MVC obsługuje izolowanie różnych aspektów aplikacji, takich jak logika biznesowa, logika wejściowa i logika interfejsu użytkownika, jednocześnie zapewniając luźne sprzężenie między każdym z tych składników.

Q.34 Opisz DispatcherServlet

Jest to rdzeń frameworka Spring Web MVC. Zarządza wszystkimi żądaniami i odpowiedziami HTTP. DispatcherServlet pobiera z pliku konfiguracyjnego wpis mapowania obsługi i przekazuje żądanie do kontrolera. Następnie kontroler daje obiekt Model and View. DispatcherServlet zaznacza wpis programu rozpoznawania widoków w pliku konfiguracyjnym i wywołuje zdefiniowany komponent widoku.

Q.35 Wyjaśnij kontekst aplikacji internetowej

WebApplicationContext jest rozszerzeniem zwykłego ApplicationContext. Ma kilka dodatkowych funkcji, które są potrzebne w aplikacjach internetowych. Różni się od normalnego ApplicationContext, ponieważ ma możliwość rozwiązywania tematów i decydowania, z którym serwletem jest połączony.

Ucz się kursów oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Wniosek

Omówiliśmy większość najczęściej zadawanych przez ankietera pytań do wywiadów wiosennych. Jeśli chcesz dowiedzieć się więcej i potrzebujesz mentoringu ze strony ekspertów branżowych, zapoznaj się z programem UpGrad & IIIT Banglore Executive PG Program Full-Stack Software Development .

Co to jest Java Spring?

Java Spring opracowana przez Sun Microsystems to platforma wspierająca tworzenie aplikacji. Spring to zbiór usług i interfejsów API opartych na Javie, który pomaga w pisaniu skalowalnych aplikacji. Spring to platforma do tworzenia aplikacji o otwartym kodzie źródłowym. Może być używany z dowolną aplikacją opartą na Javie, dzięki czemu jest open source. Spring udostępnia klasy narzędzi, obsługę wyjątków, AOP i interfejsy do obsługi aplikacji korporacyjnych. Java Spring to platforma, która obsługuje aplikacje serwerowe oparte na Javie i upraszcza cały proces rozwoju. Jest to bardzo elastyczna platforma, która może być używana z dowolnym serwerem opartym na Javie. Udostępnia klasy narzędzi i usługi obsługi wyjątków. Posiada system wsparcia transakcyjnego i zapewnia łatwe wiązanie z bazami danych.

Co to jest wiosna MVC?

Spring MVC (Model View Controller) to framework aplikacji internetowych typu open source napisany w Javie i rozwijany w ciągu ostatnich czterech lat przez zespół SpringSource. Został opracowany na bazie Servlet API i jest dostępny dla aplikacji internetowych Java EE 5 oraz aplikacji Google Web Toolkit. Integruje się również z Spring Data i Spring AOP, dzięki czemu można go używać między innymi z Hibernate, JPA i programowaniem aspektowym. Spring MVC jest wysoce konfigurowalny i obsługuje zasady Spring Inversion of Control (IoC). Obsługuje tworzenie aplikacji internetowych, które są stanowe, dzięki czemu można przechowywać informacje o stanie aplikacji między żądaniami.

Co to jest hibernacja wiosenna?

Hibernate to biblioteka mapowania obiektowo-relacyjnego (ORM) dla Javy. Hibernate jest przeznaczony do obsługi obiektów klasy Persistence of Java. Jest to potężny, lekki i niezwykle przenośny framework ORM. Hibernate jest dostępny na licencji GNU Lesser General Public License (LGPL). Spring Data to projekt w ramach Spring Framework dostarczający zestawu komponentów umożliwiających dostęp do danych i zarządzanie nimi w sposób bardziej zorientowany obiektowo przy użyciu znanego paradygmatu Spring Inversion of Control (IoC). Hibernate to tylko framework ORM. Z drugiej strony Spring Data jest próbą stworzenia warstwy abstrakcji nad różnymi mechanizmami przechowywania, takimi jak relacyjna baza danych, NoSQL, pliki płaskie itp.