Spring IOC的工作流程
2022-05-11 12:50:24 0 举报
Spring IOC的工作流程
作者其他创作
大纲/内容
context.getBean(Student.class);
注册到IOC容器
根据配置加载并实例化相关Bean保存到IOC容器
Spring IOC容器
依赖
重量级锁
从容器中获取Bean
注解
Score
初始化IOC
主动创建
ClassPathBeanDefinitionScanner
解析
线程t3
Shell
竞争锁资源
系统调用
根据锁竞争的激烈程度进行锁升级
@Configuration-@Bean
IOC控制反转
创建Bean实例
用户态
应用程序
注入Property
传统应用程序
AnnotatedBeanDefinitionReader
配置类
从容器获取Bean实例
Student
Synchronized
加载
升级
XML
xml文件中的<bean>
内核态
BeanDefinition
线程t2
@Service/@Repository/@Component/...
注册
XmlBeanDefinitionReader
内核
ApplicationContext.getBean(Student.class);
BeanFactory
1. <bean class=\"com.gupao.Student\" name=\"student\"/>2. @Service public class Student{}3. @Configuration public class SpringConfiguration{ @Bean public Student student(){ return new Student(); } }
Student student=new Student();Score score=new Score();student.setScore(score)
初始化Bean非lazy-init
......
@Autowiredprivate Student student;
线程t1
库函数
轻量级锁
<beanDefinitionMap>
偏向锁
收藏
收藏
0 条评论
下一页