【发布时间】:2021-05-09 00:38:18
【问题描述】:
我正在尝试将具有以下元素的 yml 文件加载到测试类中的对象中
yml 文件名为 application-acl-config.yml,文件夹中还有更多的 yml 文件。我假设 Spring Boot 在应用程序启动时将它们全部合并为一个。
主文件夹资源中的yml文件:
logicalClientIdentifiers:
- applicationIdentifier:
applicationId: x
logicalClientIds:
- x
- applicationIdentifier:
applicationId: y
logicalClientIds:
- y
pojo 类的主文件夹中的代码:
@Configuration
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "logicalClientIdentifiers")
public class LogicalClientIdentifiers{
private class ApplicationIdentifier {
private String applicationId;
private List<String> logicalClientIds;
public String getApplicationId() {
return applicationId;
}
public void setApplicationId(String applicationId) {
this.applicationId = applicationId;
}
public List<String> getLogicalClientIds() {
return logicalClientIds;
}
public void setLogicalClientIds(List<String> logicalClientIds) {
this.logicalClientIds = logicalClientIds;
}
}
private List<ApplicationIdentifier> applicationIdentifiers;
public List<ApplicationIdentifier> getApplicationIdentifiers() {
return applicationIdentifiers;
}
public void setApplicationIdentifiers(List<ApplicationIdentifier> applicationIdentifiers) {
this.applicationIdentifiers = applicationIdentifiers;
}
}
测试文件夹中的测试代码:
@RunWith(value = SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = LogicalClientIdentifiers.class, initializers = ConfigFileApplicationContextInitializer.class)
public class ChannelAuthorizationTest {
@Autowired
LogicalClientIdentifiers applicationAclConfigProps;
@Test
public void test(){
System.out.println();
}
}
我遇到了这个异常:
`Caused by: org.springframework.boot.context.properties.ConfigurationPropertiesBindException: Error creating bean with name 'logicalClientIdentifiers': Could not bind properties to 'LogicalClientIdentifiers' : prefix=logicalClientIdentifiers, ignoreInvalidFields=false, ignoreUnknownFields=true; nested exception is org.springframework.boot.context.properties.source.InvalidConfigurationPropertyNameException: Configuration property name 'logicalClientIdentifiers' is not` valid
我认为我没有正确创建 pojo 来解析 yml 文件,或者没有正确引用 yml 文件。
【问题讨论】:
标签: java spring-boot junit yaml