【发布时间】:2020-05-06 22:55:31
【问题描述】:
我在关注这个例子: https://www.boraji.com/spring-boot-configurationproperties-example 要制作 Java Spring 属性的嵌套列表,经过混淆和简化后,如下所示:
conf.property:
a.b.c=item1,item2,item3
AppProperties.java(位于包 x.y.z.properties 中):
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "a")
@Configuration
public class AppProperties {
private String version;
private String email;
public BProperties b = new BProperties();
static class BProperties {
public List<String> c;
public List getC() {
return c;
}
public void setC(List c) {
this.c= c;
}
}
}
FieldValidator.java(位于包 x.y.z.validation 中):
public class IsItemValidator implements ConstraintValidator<IsItem, Object> {
@Autowired
public AppProperties appProperties;
//... bunch of other stuff...
private boolean hasValidItem(final Object item) {
return appProperties.getB().getC().contains(item);
}
}
为简单起见,我并没有编写所有的 getter/setter,它们都在那里,并且公开了所有内容。
我仍然得到:
java: a.b.c.properties.BProperties 中的 getC() 定义在一个 无法访问的类或接口
我尝试在谷歌上搜索并查看类似的问题,但没有一个答案对我来说有意义.. 这里发生了什么?根据我阅读的有关不同软件包的答案之一,我已经公开了所有内容..
【问题讨论】:
-
**public** static class BProperties.
标签: java oop public access-specifier