我们如何将以下对象转换为spring bean,以便我们可以保留确切的功能?通过功能,我试图专注于构造函数初始化。
class RealObject {
private String f1;
private String f2;
private String f3;
private int f4;
private int f5;
public RealObject(String f1, String f2, String f3, int f4, int f5) {
this.f1 = f1;
this.f2 = f2;
this.f3 = f3;
this.f4 = f4;
this.f5 = f5;
}
... getters ...
}
春天的豆子看起来像
@Bean
class RealObject {
private String f1;
private String f2;
private String f3;
private int f4;
private int f5;
... getters ...
}
这个bean的问题在于它永远不会强迫我在我的对象中提供我需要的参数。我可以对每个输入进行一些手动检查,但是如果你有太多......根本不会很优雅。
我有什么解决方案?
稍后编辑:我需要在运行时传递值。
答案 0 :(得分:0)
您可以在构造函数
上一起使用@Autowired
和@Value
@Autowired
public RealObject(@Value("#{property.f1}") String f1,
@Value("#{property.f2}") String f2,
... ) {
}
在这种情况下,您需要外部属性才能将值分配给f1
,f2
......