Application Settings
Это дополнение предоставляет простой API и пользовательский интерфейс для работы с изменяемыми значениями различных типов, хранящимися в базе данных. Эти значения обычно используются как параметры различного функционала приложения.
Установка
Для автоматической установки через Jmix Marketplace следуйте инструкциям в разделе Дополнения.
Для ручной установки добавьте следующие зависимости в ваш build.gradle:
implementation("io.jmix.appsettings:jmix-appsettings-starter")
implementation("io.jmix.appsettings:jmix-appsettings-flowui-starter")Использование
Чтобы определить некоторые настройки, создайте сущность, расширяющую класс io.jmix.appsettings.entity.AppSettingsEntity:
@JmixEntity
@Table(name = "CUSTOMER_SETTINGS")
@Entity
public class CustomerSettings extends AppSettingsEntity {
    @Column(name = "NOTIFICATION_TEXT")
    private String notificationText;
    @AppSettingsDefault("B")
    @Column(name = "DEFAULT_GRADE")
    private String defaultGrade;
    @AppSettingsDefault("1000")
    @Column(name = "SALES_THRESHOLD", precision = 19, scale = 2)
    private BigDecimal salesThreshold;
    // getters and settersПосле этого вы сможете устанавливать значения для атрибутов этой сущности с помощью экрана Application settings.
Для получения настроек в коде приложения используйте бин AppSettings, например:
@Autowired
private AppSettings appSettings;
@Subscribe
public void onInitEntity(InitEntityEvent<Customer> event) {
    CustomerSettings customerSettings = appSettings.load(CustomerSettings.class);
    CustomerGrade defaultGrade = customerSettings.getDefaultGrade();
    Customer customer = event.getEntity();
    customer.setGrade(defaultGrade);
}