Size: a a a

2020 February 12

S

Sergei in Java & Co
Roman V.
Тут сразу вопрос, а что сервис внедрить никуда нельзя?
можно, в контроллер например, я привел пример просто с репо и сервисом
источник

RV

Roman V. in Java & Co
Sergei
Ребят, привет ) часто путаюсь в определении понятия внедрения зависимостей )
Как простыми словами объяснить что это.)
То есть я понимаю, есть у нас допустим слой репозитория, и есть слой сервисов. Сервисы зависят от репо, мы репо внедряем через конструктор или сеттер, Спринг во время исполнения, а конкретно его контекст подхватывает аннотацию autowired и внедряет в слой сервиса конкретный репозиторий.

Как это можно все проще объяснить на собесе?))
А как лучше? через конструктор или через сеттер?
источник

S

Sergei in Java & Co
Roman V.
А как лучше? через конструктор или через сеттер?
я читал что предпочтительней через конструктор
источник

RV

Roman V. in Java & Co
Нужно чтобы объяснение не порождало вопросов
источник

DK

Dmitry Kalinichenko in Java & Co
На хабре была недавно группа статей в переводе про ioc и Di, очень хорошо расписано, загугли Сергей
источник

S

Sergei in Java & Co
Vitaly Sirotkin
Ну вот с него надо начинать рассказ
спасибо) если бы ты проводил собес. и я бы например сказал, что IoC - подход к написанию приложения с использованием слабого связывания. его реализацией явялется DI. Суть в том, что( в моем примере выше) сервис не должен зависеть от конкретной реализации репо, а должен зависеть от его абстракции (интерфейса), потому как мы можем динамически менять реализацию репо, если потребуется.

после такого ответа меня сразу бы послал, или сначала задал еще доп.вопрос?))
источник

VS

Vitaly Sirotkin in Java & Co
Да вроде все правильно
источник

S

Sergei in Java & Co
Roman V.
Нужно чтобы объяснение не порождало вопросов
эх к этому идеалу я еще стремлюсь))
источник

S

Sergei in Java & Co
Dmitry Kalinichenko
На хабре была недавно группа статей в переводе про ioc и Di, очень хорошо расписано, загугли Сергей
спасибо))
источник

RK

Roman K in Java & Co
Sergei
спасибо) если бы ты проводил собес. и я бы например сказал, что IoC - подход к написанию приложения с использованием слабого связывания. его реализацией явялется DI. Суть в том, что( в моем примере выше) сервис не должен зависеть от конкретной реализации репо, а должен зависеть от его абстракции (интерфейса), потому как мы можем динамически менять реализацию репо, если потребуется.

после такого ответа меня сразу бы послал, или сначала задал еще доп.вопрос?))
Эм... по-моему Inversion of Control и DI это разные вещи, хоть и связанные. Ну, как Ленин и Партия :-)
DI - это не реализация IoC
DI - это когда у тебя поля, которые отвечают за доступ к внешним сервисам, имеют не тип конкретной реализации, а некого интерфейса.
А IoC - это когда ты в эти самые поля ссылки не руками загоняешь, а имеешь некое декларативное описание, и специальную хрень (как правило Spring), которая по этому описанию создает объекты нужного типа и пропихивает их куда надо.
источник

⫷ S⃞ C⃞ R⃞ ⃞E A⃞ M⃞ ⫸ in Java & Co
Сергей Субботин
String s = "\\0x2C";
 String line = "хрычу нужно \\0x2C 300к\\с";
 
 byte b = Byte.decode(s.substring(1, s.length()));
 char c = (char)b;
 
 int index = line.indexOf(s);
 
 StringBuilder sb = new StringBuilder(line);
 sb.delete(index, line.length() - index + s.length() - 5);
 sb.setCharAt(index, c);
 
 System.out.println(sb.toString());
Спасибо
источник

S

Sergei in Java & Co
Roman K
Эм... по-моему Inversion of Control и DI это разные вещи, хоть и связанные. Ну, как Ленин и Партия :-)
DI - это не реализация IoC
DI - это когда у тебя поля, которые отвечают за доступ к внешним сервисам, имеют не тип конкретной реализации, а некого интерфейса.
А IoC - это когда ты в эти самые поля ссылки не руками загоняешь, а имеешь некое декларативное описание, и специальную хрень (как правило Spring), которая по этому описанию создает объекты нужного типа и пропихивает их куда надо.
Этой хренью и является контекст?) он же является контейнером для бинов..
источник

AK

Artyom Krikheli in Java & Co
Всем добрый день! Появилась необходимость установить максимальное время обработки входного HTTP-запроса на контроллере. Используем Spring Boot, в качестве сервера - Tomcat. Пробовали настройки server.tomcat.connection-timeout/server.connection-timeout (в зависимости от версии спринга) - безрезультатно.
источник

СС

Сергей Субботин in Java & Co
Хренассе реакция.. да ты самый быстрый Джо на этом берегу.. незачто
источник

C

Cyclone in Java & Co
Roman K
Эм... по-моему Inversion of Control и DI это разные вещи, хоть и связанные. Ну, как Ленин и Партия :-)
DI - это не реализация IoC
DI - это когда у тебя поля, которые отвечают за доступ к внешним сервисам, имеют не тип конкретной реализации, а некого интерфейса.
А IoC - это когда ты в эти самые поля ссылки не руками загоняешь, а имеешь некое декларативное описание, и специальную хрень (как правило Spring), которая по этому описанию создает объекты нужного типа и пропихивает их куда надо.
А если я в спринговом @Configuration-классе создаю @Bean какого-нибудь сервиса через new, да ещё ему рависимости через конструктор вкидываю, это уже не IoC по твоей логике получается? Что значит "не руками загоняешь"?
источник

RG

Roman Golubkov in Java & Co
Cyclone
А если я в спринговом @Configuration-классе создаю @Bean какого-нибудь сервиса через new, да ещё ему рависимости через конструктор вкидываю, это уже не IoC по твоей логике получается? Что значит "не руками загоняешь"?
Это конфигурация бинов. Важно что ты их потом не в статик класс переменную пихаешь и сервисами не с неё получаешь, а просишь у ioc предоставить
источник

ХМ

Хугинн Мунинн in Java & Co
Добрый день, есть у кого свободное время, может кто объяснить стримы на конкретной ситуации?
источник

Ч

Чувак in Java & Co
Хугинн Мунинн
Добрый день, есть у кого свободное время, может кто объяснить стримы на конкретной ситуации?
Пиши вопрос здесь.
источник

ХМ

Хугинн Мунинн in Java & Co
Есть цикл foreach, он обрабатывает одну коллекцию, внутри ещё один foreach(он обрабатывает другую коллекцию) в конце есть if который сравнивает полученное из второй коллекции по условию. Не понимаю как написать две обработки в один стрим.
источник

AY

Andrew Yablokov in Java & Co
Хугинн Мунинн
Есть цикл foreach, он обрабатывает одну коллекцию, внутри ещё один foreach(он обрабатывает другую коллекцию) в конце есть if который сравнивает полученное из второй коллекции по условию. Не понимаю как написать две обработки в один стрим.
Поищи выше, вчера твой будущий коллега видимо был
источник