Spring在设置属性之前调用对象构造函数

时间:2009-04-28 04:48:38

标签: spring configuration

我有一个抽象类Foo,它有一个名为Bar的非抽象方法。我有一个扩展Foo的类Baz,它有自己独特的构造函数。默认情况下,当Spring在启动时实例化Baz类时,它会在将值传递给父类'方法,Bar之前调用Baz构造函数。

有没有办法覆盖这种行为,所以在Baz的构造函数之前会调用Bar?或者,如果我需要以某种方式扩展Spring的默认行为,那么最好的方法是做什么?

2 个答案:

答案 0 :(得分:3)

在我看来,您所描述的是Java的工作方式。在调用该实例上的任何方法之前,必须完全构造对象(通过构造函数)。

我的春季代码很少使用构造函数,因为它们不是很好。我已经开始使用@PostConstruct注释的一些方法,这可能更适合您的需求。

答案 1 :(得分:3)

您可以考虑使用afterPropertiesSet方法替换构造函数中的逻辑。请参阅InitializingBean interface