Я только начинаю поднимать Spring, исходящий из чисто Java EE фона, поэтому такие вещи, как IO C и внедрение зависимостей, для меня все равно что-то новое. Что касается документов Spring, я понимаю, что для любого класса, вызывающего экземпляры своих зависимостей, я могу выбрать автоматическое связывание этих зависимостей как форму внедрения зависимостей. И это на самом деле отличается от обычного объявления экземпляра, которое мы всегда делаем в java, как показано ниже: Animal animal1 = new Animal()
В одном из моих маленьких тестовых сервисов загрузочного проекта Spring я заметил, что в итоге я делаю оба внедрение зависимости и нормальное создание класса. Я использую репозиторий JPA для создания своего слоя репо и автоматически связываю классы репо, чтобы я мог использовать их, например.
@Autowired
customerAccountRepo
Все хорошо. У меня также есть DAO customerMembershipValidity
, чьи атрибуты являются другими объявленными POJO и в нем есть некоторые вспомогательные функции c для установки атрибутов DAO. Однако, чтобы использовать этот DAO, я создаю несколько экземпляров DAO традиционным способом, создавая CustomerMembershipValidity customerMembershipValidity1 = new CustomerMembershipValidity()
несколько раз по всему сервису, чтобы вызывать вспомогательные c вспомогательные методы, такие как customerMembershipValidity.setNewExpiry()
. Я не думал, что возникнет необходимость в автоматическом подключении, так как я имею дело с DAO или POJO, а не с другим сервисом ... или я должен?
На данный момент код кажется работоспособным, когда я выполняю свой модуль тестирование, но я хотел бы знать, не повредит ли это общему долговечности и чувствительности кода, или это может привести к сбою в E2E при запуске приложения Spring Boot.