Совет по Java
С паттерн-матчингом для instanceof в Java можно объявлять переменную прямо внутри проверки. Это избавляет от лишнего каста и делает код чище.
Пример:
if (obj insta…
Читать далее →
Что такое BeanPostProcessor в Java Spring Boot?
Это интерфейс, который позволяет вмешиваться в процесс создания и инициализации бинов в Spring-контейнере.
Он предоставляет два ос…
Читать далее →
💡 Java-совет: выбирай constructor injection вместо field injection
Во многих проектах до сих пор можно встретить такое:
💡 Java-совет: выбирай constructor injection вместо field injection
Во многих проектах до сих пор можно встретить такое:
@Component
public class UserController {
@Autowired
private Logger logger;
public void createUser(String username) {
...
}
}
Работает, но хуже тестируется и прячет зависимости «за кулисами».
Гораздо лучше - передавать зависимости через конструктор:
@Component
public class UserController {
private final Logger logger;
@Autowired
public UserController(Logger logger) {
this.logger = logger;
}
}
Почему это лучше:
• зависимости явно видны
• класс становится иммутабельным
• проще писать unit-тесты (можно подставить fake/mock)
• меньше сюрпризов при инициализации Spring-контейнера
Итог: если нет веской причины - предпочитай constructor injection 👍
Основы создания веб-приложений с Spring Boot
В этом видео мы рассмотрим основы создания web-приложений с использованием Spring Boot.
Мы начнем с основ: разберем, что такое HTTP …
Читать далее →
10 ошибок Configuration Management
695 строк конфига, одна валидация, 10 GB upload limit по умолчанию и env-переменная, которая никогда не срабатывает. Десять ошибок управления ко…
Читать далее →