В папке ресурсов
Сделайте файл application.yml, application-local.yml, application-dev.yml и т. Д. Все, что вы хотите
и затем в приложении. yml
spring.profile.active = ${ENV}
теперь во время выполнения укажите переменные ENV из конфигурации run / debug в Intellij или укажите профиль, для которого вы хотите создать jar, в application.yml.
В качестве альтернативы вы можете использовать -D spring.profile.active = dev
Преимуществами абстрактного класса являются:
Интерфейсы являются просто контрактами передачи данных и не имеют этих функций. , Однако они, как правило, более гибкие, поскольку тип может быть получен только из одного класса, но может реализовывать любое количество интерфейсов.
Абстрактные классы и интерфейсы семантически различны, хотя их использование может перекрываться.
Абстрактный класс обычно используется как строительная основа для подобных классов. Реализация, которая является общей для классов, может быть в абстрактном классе.
Интерфейс обычно используется для указания способности для классов, где классы не должны быть очень похожими.
Реальный вопрос: использовать ли интерфейсы или базовые классы. Это было покрыто раньше.
В C # абстрактный класс (помеченный ключевым словом «абстрактный») - это просто класс, из которого нельзя создавать объекты. Это служит иной цели, чем простое различие между базовыми классами и интерфейсами.
Еще одна вещь, которую следует учитывать, состоит в том, что, поскольку нет множественного наследования, если вы хотите, чтобы класс мог реализовать / наследовать от вашего интерфейса / абстрактного класса, но наследовать от другого базового класса, использовать интерфейс.