Size: a a a

2016 November 30

SU

Sergey Ushakov in Java Developers
сейчас действительно рекомендуется constructor-injection
источник

П

Павел in Java Developers
вот. а почему
источник

SU

Sergey Ushakov in Java Developers
конструктор дает больше гарантий
источник

П

Павел in Java Developers
хотелось бы понять чем жертвуешь используя то и то и что получаешь. тоесть гарантий больше. как я понял он(конструктор) гарантирует что не произойдет циклическая зависимость бинов(что кстати тоже не совсем понятно, как это.) но может есть какието ограницения когда лучше не использовать его и тд
источник

SU

Sergey Ushakov in Java Developers
с конструктором нельзя провернуть такую вешь:
@Autowired(required = false)
источник

SU

Sergey Ushakov in Java Developers
или придется рисовать отдельный конструктор
источник

SU

Sergey Ushakov in Java Developers
отсутствие цикличиской зависимости бинов гарантирует не конструктор или спринг, а наличие разума у разработчика.
источник

MK

Mark Korzhov in Java Developers
К минусам constructor injection я бы прилепил DI
источник

П

Павел in Java Developers
Mark Korzhov
К минусам constructor injection я бы прилепил DI
разжуй пожалуйста о чем ты
источник

MK

Mark Korzhov in Java Developers
Dependency injection - это такой паттерн, который описывает логику подмены зависимостей в рантайме. В большинстве случаев это удобно для тестирования. Например, в тестовой среде надо скормить сервису один инстанс какого-нибудь класса, в проде - другой. Такая зависимость помечается соответствующей аннотацией. В андроиде, например, часто юзают дагер для этих целей. В спринге пока сталкиваться с такими задачами не приходилось. В общем, я не вижу способа красиво реализовать этот паттерн при использовании autowired на конструкторе.
источник

П

Павел in Java Developers
Бля Марк, разжевал епть
источник

MK

Mark Korzhov in Java Developers
Статейка про dagger , кстати: https://m.habrahabr.ru/post/202866/
источник

П

Павел in Java Developers
нафиг ты написал тут определение Dependency injection)
источник

П

Павел in Java Developers
минусам constructor injection я бы прилепил DI - что значит твоя фраза? что  DI - это минус?
источник

MK

Mark Korzhov in Java Developers
Ты ж спросил :)
источник

MK

Mark Korzhov in Java Developers
Нет
источник

П

Павел in Java Developers
и то и то DI
источник

MK

Mark Korzhov in Java Developers
Последнюю фразу прочитай. Это всё вступление к ней
источник

П

Павел in Java Developers
кароче ты меня запутал)
источник

П

Павел in Java Developers
ты предлагаешь использовать this.service = new Service(); ?
источник