【发布时间】:2014-12-21 06:55:55
【问题描述】:
我对春季的 bean 实例化有疑问。
根据 Spring Reference 文档,在“实例化 bean”部分中提到
" 容器本身通过反射调用其构造函数来直接创建 bean,有点相当于 Java 代码使用 new 运算符 "。
这意味着 Spring 容器使用反射来创建 bean。然而在少数情况下,容器也使用类上的静态工厂方法来创建 bean。我知道容器使用静态工厂方法的唯一情况是“当构造函数是私有的”。
所以我的疑问是,既然容器使用反射来创建对象,它应该也可以创建私有构造函数的类的对象。为什么容器要依赖静态工厂方法? 或者调用静态工厂方法来创建bean还有其他用途吗?
提前致谢。如果我需要任何基本的理解,请提出建议。
【问题讨论】: