代码之家  ›  专栏  ›  技术社区  ›  Evgeni Dimitrov

Spring Boot禁止属性值

  •  0
  • Evgeni Dimitrov  · 技术社区  · 7 年前

    是否有方法禁止在Spring配置中传递给定的属性值(例如application.proeprites)。

    例如,如果我们想在使用hibernate时防止意外的数据库架构迁移。 假设我们只想使用值 validate 财产的 spring.jpa.hibernate.ddl-auto . 如果值不是 验证 引发异常或将其重写为 验证 .

    这可能吗?可能有一些“挂钩”或预处理器,可以在应用程序启动之前检查属性。

    1 回复  |  直到 7 年前
        1
  •  3
  •   Community CDub    5 年前

    您可以使用 EnvironmentPostProcessor 看看环境,做你喜欢做的事。 This section of the documentation 解释如何执行此操作。

    还可以在使用EnvironmentPostProcessor刷新应用程序上下文之前自定义环境。每个实现都应该在META-INF/spring中注册。工厂:

    org.springframework.boot.env.EnvironmentPostProcessor=com.example.YourEnvironmentPostProcessor