Добавить в корзинуПозвонить
Найти в Дзене
Java

⚠️ Маленькая настройка в Spring Boot, которая может спасти от скрытых багов

Лучше не менять значение по умолчанию: spring.main.allow-bean-definition-overriding=false Что это делает? Если в приложении два бина с одинаковым именем, Spring не запустится. И это на самом деле хорошо. Почему: ✔ помогает сразу увидеть конфликт конфигурации ✔ не даёт одному бину тихо перезаписать другой ✔ предотвращает скрытые баги в DI Если же включить: spring.main.allow-bean-definition-overriding=true • тогда второй бин молча перезапишет первый. В результате приложение запустится, но будет использовать не тот бин, который вы ожидали. И такие баги потом очень сложно найти. Иногда лучше получить ошибку при старте, чем искать проблему в продакшене. #SpringBoot #Java #Backend ⚡️ Полезные ресурсы по Java 🚀 Max @javarush

⚠️ Маленькая настройка в Spring Boot, которая может спасти от скрытых багов.

Лучше не менять значение по умолчанию:

spring.main.allow-bean-definition-overriding=false

Что это делает?

Если в приложении два бина с одинаковым именем, Spring не запустится.

И это на самом деле хорошо.

Почему:

✔ помогает сразу увидеть конфликт конфигурации

✔ не даёт одному бину тихо перезаписать другой

✔ предотвращает скрытые баги в DI

Если же включить:

spring.main.allow-bean-definition-overriding=true

• тогда второй бин молча перезапишет первый.

В результате приложение запустится, но будет использовать не тот бин, который вы ожидали.

И такие баги потом очень сложно найти.

Иногда лучше получить ошибку при старте, чем искать проблему в продакшене.

#SpringBoot #Java #Backend

⚡️ Полезные ресурсы по Java 🚀 Max

@javarush