弹簧力场初始化

时间:2016-09-06 12:36:55

标签: java spring

我们如何将以下对象转换为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的问题在于它永远不会强迫我在我的对象中提供我需要的参数。我可以对每个输入进行一些手动检查,但是如果你有太多......根本不会很优雅。

我有什么解决方案?

稍后编辑:我需要在运行时传递值。

1 个答案:

答案 0 :(得分:0)

您可以在构造函数

上一起使用@Autowired@Value
@Autowired
public RealObject(@Value("#{property.f1}") String f1, 
                  @Value("#{property.f2}") String f2, 
                  ... ) {

}

在这种情况下,您需要外部属性才能将值分配给f1f2 ......