应用程序属性

该组件提供了简洁的 API 和 UI,用来处理数据库中存储的不同类型参数值。这些值通常作为应用程序不同功能的参数使用。

安装

如需通过 Jmix 组件市场自动安装,请按照 扩展组件 章节的介绍进行安装。

如需手动安装,请在 build.gradle 中添加下列内容:

implementation("io.jmix.appsettings:jmix-appsettings-starter")
implementation("io.jmix.appsettings:jmix-appsettings-ui-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

之后,可以通过 Administration → Application settings 界面为该实体设置值。

如需在应用程序代码中获取参数值,可以使用 AppSettings bean,示例:

@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);
}