使用定义属性时@ConfigurationProperties
,可以定义特定字段的前缀而不是整个类吗?
例如,假设我们有一个Properties类
@ConfigurationProperties(prefix = "com.example") public class MyProperties { private String host; private String port; // Geters and setters... }
这会将字段host
和绑定port
到com.example.host
和com.example.port
。假设我要绑定port
到com.example.something.port
。完成此操作的方法是定义一个Inner类Something
并在其中添加属性port
。但是,如果我需要更多的前缀,它将变得很麻烦。我尝试添加@ConfigurationProperties
设置器,因为注释的目标是ElementType.TYPE
和ElementType.METHOD
:
@ConfigurationProperties(prefix = "com.example.something.port") public void setPort(int port) {...}
但这最终没有用。除了通过内部类之外,还有另一种自定义前缀的方法吗?