Spring создание компонентов

236
09 июня 2022, 17:10

слышал что в спринге создание классов помеченных @Component через ключевое слово new является плохой практикой, но так и не смог найти объяснения, почему это плохая практика. Подскажите пожалуйста что почитать или объясните почему это плоххая практика?

Answer 1

Потому что одной из обязанностью-возможностью Spring это Dependency Injection или говоря по-нашему, внедрение зависимостей. Поэтому вам только остается корректно настроить что от чего зависит (при помощи аннотаций, конфигурационных классов или xml), а остальное за Вас сделает Spring (создаст объекты и передаст ссылки на них другим зависимым объектам). А если вы какие-то компоненты будете создавать вручную, то Spring о них знать не будет, он будет создавать свой объект и манипулировать им. А оно как минимум не логично. Как-то так.

READ ALSO
Ошибка в base64 (Last unit does not have enough valid bits)

Ошибка в base64 (Last unit does not have enough valid bits)

Делаю не большую библиотеку RSA для себя на джавеУ меня есть 2 метода "byteToString" и "stringToByte", это нужно что-бы передать байты в строки

255
Ошибка FOREIGN KEY constraint failed при использовании Room

Ошибка FOREIGN KEY constraint failed при использовании Room

Не могу понять нюанс работы с RoomДобавление в базу данных связанных через внешний ключ записей получается только так:

226
Java Spring ошибка при redirect

Java Spring ошибка при redirect

Web приложение на Spring WebОбработчик, по мимо всего прочего, формирует pdf документ, и передаёт на скачивание

305
Method does not override method from its superclass

Method does not override method from its superclass

Пытаюсь понять в чем ошибка и на что ругается Android Studio в переопределении метода интерфейса, от которого имплементируюсь в данном классе

345