我有一个抽象类Foo,它有一个名为Bar的非抽象方法。我有一个扩展Foo的类Baz,它有自己独特的构造函数。默认情况下,当Spring在启动时实例化Baz类时,它会在将值传递给父类'方法,Bar之前调用Baz构造函数。
有没有办法覆盖这种行为,所以在Baz的构造函数之前会调用Bar?或者,如果我需要以某种方式扩展Spring的默认行为,那么最好的方法是做什么?
答案 0 :(得分:3)
在我看来,您所描述的是Java的工作方式。在调用该实例上的任何方法之前,必须完全构造对象(通过构造函数)。
我的春季代码很少使用构造函数,因为它们不是很好。我已经开始使用@PostConstruct注释的一些方法,这可能更适合您的需求。
答案 1 :(得分:3)
您可以考虑使用afterPropertiesSet方法替换构造函数中的逻辑。请参阅InitializingBean interface。