【问题标题】:Spring Calls Object Constructor Before Setting PropertiesSpring 在设置属性之前调用对象构造函数
【发布时间】:2010-10-22 05:30:21
【问题描述】:

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

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

【问题讨论】:

    标签: spring configuration


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-31
        • 2017-02-11
        • 1970-01-01
        • 2018-09-08
        • 2013-12-10
        相关资源
        最近更新 更多