Я пытаюсь "реально" понять Spring Framework. У меня есть некоторое представление о Spring Core (DI) и Spring MVC.
Для части данных я сейчас сосредоточен на Spring Data JPA. Насколько я понимаю, JPA - это стандартная спецификация, для которой существует несколько реализаций, Hibernate - знаменитый.
Теперь, когда я начал Spring Data JPA, у меня сложилось впечатление, что Spring Data JPA является независимой реализацией спецификации JPA. Оказалось, что я ошибаюсь.
Если я правильно понял, Spring Data JPA - это уровень абстракции, предоставляемый Spring, который внутренне использует другой поставщик JPA (пример Hibernate), поэтому обычно это выглядит так:
Application ---> Spring Data JPA --> Hiberate --> JDBC → DB
Правильно ли я понимаю? Если это не значит, что Spring Data JPA
вводят в заблуждение? Он не является поставщиком JPA сам по себе, это просто уровень абстракции, который работает поверх другого JPA provider
.
Я не уверен, действительно ли я понимаю Spring framework или это сложная структура вообще?
Может ли кто-нибудь помочь мне понять это?