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创建。