使用Mongobee ChangeSet中的属性

时间:2019-05-15 18:00:28

标签: jhipster

我想在MongoBee ChangeSet中使用一个属性。 我有一个要为其创建ADMIN帐户的电子邮件列表。

application:
    roles:
        admins: some@email.com

我尝试了多种解决方案,例如:

  • 使用@Value
@ChangeLog(order = "001")
public class InitialSetupMigration {
    @Value("${application.roles.admins}")
    String admins;
  • 创建配置属性
@ChangeLog(order = "001")
@ConfigurationProperties(prefix="application.roles")
public class InitialSetupMigration {
    String admins;

但是它们都不起作用

1 个答案:

答案 0 :(得分:0)

您可以使用 environment 变量来获取属性。

为此,您需要:

  1. 将org.springframework.core.env.Environment注入到Mongo Configuration类中的跑步者中
    @Bean @Autowired
    public Mongobee mongobee(Environment environment) {
      Mongobee runner = new Mongobee(uri);
      runner.setSpringEnvironment(environment)
      //... etc
    }
  1. 使用环境作为changeSet方法的参数
    @ChangeSet(order = "006", id = "someChangeWithSpringDataTemplate",
    author = "testAuthor") public void someChange5(MongoTemplate
    mongoTemplate, Environment environment) {

    }
  1. 获取所需的属性:
    environment.getProperty("application.roles.admins")

它可以帮助mongobee