@PropertyMapping与列表参数

时间:2018-09-24 14:13:19

标签: java spring spring-boot

下一个带有@PropertyMapping的注释:

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@ImportAutoConfiguration
@PropertyMapping("spring.test.testcontainers.datasource")
public @interface AutoConfigureDatasourceContainer {

    @PropertyMapping("containers")
    DatasourceContainer[] containers() default {};
}

和子注释:

@Target({})
@Retention(RUNTIME)
public @interface DatasourceContainer {

    @PropertyMapping("port")
    int port() default 31335;

    @PropertyMapping("username")
    String username() default "";

    @PropertyMapping("password")
    String password() default "";

    @PropertyMapping("database")
    String database() default "";

    @PropertyMapping("type")
    DatasourceType type() default DatasourceType.MYSQL;
}

我希望这两种注释的用法都以下一种形式出现:

@AutoConfigureDatasourceContainer(containers =
        {
                @DatasourceContainer(username = "username", password = "password", database = "users", type = DatasourceType.MYSQL)
    })

将产生下一个属性:

spring.test.testcontainers.datasource.containers[0].port=31335
spring.test.testcontainers.datasource.containers[0].username=username
.....

,依此类推。但这不是。

我没有在文档中找到有关此类情况的任何示例。 我的代码有什么问题?

0 个答案:

没有答案