下一个带有@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
.....
,依此类推。但这不是。
我没有在文档中找到有关此类情况的任何示例。 我的代码有什么问题?