Bean 类的工厂方法应该是静态的,而工厂类中存在的 Bean 的工厂方法应该是非静态的。
如果不满足此要求,Spring IOC 会抛出异常。
我很清楚为什么我们需要 bean 的静态工厂方法来使用方法实例化 bean,它需要是静态的。
但是为什么我们需要工厂 bean 的非静态方法。
最佳答案
FactoryBean
是声明方法 getObject()
的接口(interface)的名称。任何接口(interface)的要点都与此相同:多态性。如果要调用某个静态方法,获取 FactoryBean
实例有什么意义?
我也不太清楚“如果不满足此要求,Spring 会抛出异常”是什么意思。如果您声明实现 FactoryBean
的类但未实现其方法,Java 编译器会产生编译错误。
关于java - 为什么Spring IOC中工厂bean需要非静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28792405/