Application Settings

This add-on provides a simple API and UI to work with mutable values of different types stored in database. These values are usually used as parameters of different functionality of the application.


For automatic installation through Jmix Marketplace, follow instructions in the Add-ons section.

For manual installation, add the following dependencies to your build.gradle:



To define some settings, create an entity extending the io.jmix.appsettings.entity.AppSettingsEntity class:

@Table(name = "CUSTOMER_SETTINGS")
public class CustomerSettings extends AppSettingsEntity {

    @Column(name = "NOTIFICATION_TEXT")
    private String notificationText;

    @Column(name = "DEFAULT_GRADE")
    private String defaultGrade;

    @Column(name = "SALES_THRESHOLD", precision = 19, scale = 2)
    private BigDecimal salesThreshold;

    // getters and setters

After that, you will be able to set values for this entity attributes using the Administration → Application settings screen.

To get settings in the application code, use the AppSettings bean, for example:

private AppSettings appSettings;

public void onInitEntity(InitEntityEvent<Customer> event) {
    CustomerSettings customerSettings = appSettings.load(CustomerSettings.class);
    CustomerGrade defaultGrade = customerSettings.getDefaultGrade();

    Customer customer = event.getEntity();