Skip to content

Bean创建流程

Spring为什么可以创建未知对象?

因为反射。

普通:

java
new UserService();

框架:

java
Class clazz;

clazz.newInstance();

创建流程

扫描Class

获取Class对象

反射实例化

保存Bean

示例

java
Class<?> clazz =
Class.forName(
"com.demo.UserService"
);


Object bean =
clazz.getDeclaredConstructor()
.newInstance();

企业意义

Spring Boot启动时,会自动完成大量Bean创建。