Java 如何要求spring boot配置处理器处理配置类的子类中的嵌套类?

Java 如何要求spring boot配置处理器处理配置类的子类中的嵌套类?,java,spring,spring-boot,Java,Spring,Spring Boot,我有一个叫做FooBar的项目,这个项目中没有Spring。有一个配置类FoorBarConfiguration 导入另一个.package.ServerProperties; 公共类FooBarProperties{ 私人长id; 私有字符串描述; 私有服务器属性服务器属性; //接二连三 } ServerProperties不是FooBarProperties 公共类服务器属性{ 私有字符串主机; 专用int端口; //接二连三 } 然后,我想为FooBar项目编写一个springboo

我有一个叫做FooBar的项目,这个项目中没有Spring。有一个配置类
FoorBarConfiguration

导入另一个.package.ServerProperties;
公共类FooBarProperties{
私人长id;
私有字符串描述;
私有服务器属性服务器属性;
//接二连三
}
ServerProperties
不是
FooBarProperties

公共类服务器属性{
私有字符串主机;
专用int端口;
//接二连三
}
然后,我想为FooBar项目编写一个springbootstater项目。同时,我希望通过
应用程序配置
ServerProperties
。properties
和spring boot配置处理器可以帮助我生成足够的
spring配置元数据.json
,它将提示
ServerProperties
中的属性。例如,当我键入
com.example.server属性。
时,它将提示键入
端口
主机

一种粗糙的方法是将
FoobarProperties.java
复制到starter项目中,但这太粗鲁了。我注意到这样的用法:

@ConfigurationProperties(prefix=“com.example”)
公共类AutoFooBarProperties扩展了FooBarProperties{
}
但spring引导配置处理器似乎对此无能为力


非常感谢。

嗯,应该行了。但是,更传统的做法是将属性放在名为
FooBarProperties
的POJO中,而不是将其与配置类混合使用。我还建议尝试不使用子类,看看这是否有帮助。
@NestedConfigurationProperty
应用于指示属性是嵌套命名空间。不过,我不能完全肯定我理解了你的问题。@StephaneNicoll,你能告诉我我表达中令人困惑的部分是什么吗?嗯……简单地说,我有一个没有spring的项目,我想为它写一个spring启动程序。同时,我想重用property类,但是property类不能由任何spring注释进行注释,因为在原始项目中没有任何spring。。那么如何在starter项目中使用SpringBoot配置处理器呢?谢谢,恐怕不行。要求处理器作为嵌套类处理
ServerProperties
,需要在field.Hmm上设置一个标志。这应该行得通。但是,更传统的做法是将属性放在名为
FooBarProperties
的POJO中,而不是将其与配置类混合使用。我还建议尝试不使用子类,看看这是否有帮助。
@NestedConfigurationProperty
应用于指示属性是嵌套命名空间。不过,我不能完全肯定我理解了你的问题。@StephaneNicoll,你能告诉我我表达中令人困惑的部分是什么吗?嗯……简单地说,我有一个没有spring的项目,我想为它写一个spring启动程序。同时,我想重用property类,但是property类不能由任何spring注释进行注释,因为在原始项目中没有任何spring。。那么如何在starter项目中使用SpringBoot配置处理器呢?谢谢,恐怕不行。要求处理器作为嵌套类处理
ServerProperties
,需要在字段上设置一个标志。