java - 为什么Spring IOC中工厂bean需要非静态方法

标签 java spring spring-mvc static javabeans

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/

相关文章:

java - Spring 3 Web MVC 入门 - 设置一切

RestFuse vs Rest Assured vs MockMVC Rest 服务单元测试框架

java - java中的正则表达式模式未更新

java - JPA rest 在尝试上传 blob 时停止工作

java - 使用BufferedImage进行多线程绘图

java - 使用 jetty 重置连接 SQLException

java - DAO与hibernate的关系

java - 捕获异常或者直接抛出业务异常

java - Spring加载一个只有空成员变量的配置类

java - SpringMVC : populating values of a dropdown of a department object injected inside Employee object