Spring知识点

本文详细探讨了Spring框架中Bean的生命周期,包括从解析类到销毁的各个阶段,以及Bean的实例化、属性填充、初始化、后置处理器等环节。此外,文章还解释了Spring的IOC(控制反转)、AOP(面向切面编程)的概念,以及@Autowired和@Transactional注解的工作原理。同时,阐述了Spring中Bean的后置处理器和BeanFactory的后置处理器的作用,以及Spring容器的启动流程和扩展点。最后,讨论了Spring解决循环依赖的三级缓存策略。
摘要由CSDN通过智能技术生成

描述一下Spring中Bean的生命周期

  1. 解析类得到BeanDefinition
  2. 如果有多个构造方法,则要推断构造方法
  3. 确定好构造方法后,进行实例化得到一个对象
  4. 对对象中的加了@Autowired注解的属性进行属性填充
  5. 回调Aware方法,比如BeanNameAware,BeanFactoryAware
  6. 调用BeanPostProcessor的初始化前的方法
  7. 调用初始化方法
  8. 调用BeanPostProcessor的初始化后的方法,在这里会进行AOP
  9. 如果当前创建的bean是单例的则会把bean放入单例池
  10. 使用bean
  11. Spring容器关闭时调用DisposableBean中destory()方法

你是怎么理解Spring中的IOC的?

IOC是Spring Framework中众多特性中的一个特性,表示控制反转,Spring相当于项目里的管家,管理项目中的对象,控制反转,表示对象的控制权本来是在程序员手中的,现在交给了Spring,所以Spring获得了对象的控制权,比如,Spring负责去进行实例化得到对象,Spring负责通过反射去给对象中的属性进行赋值,这些动作都不需要程序员去做,Spring自动帮程序员做了。

你是怎么理解Spring中的AOP的?

AOP表示面向切面编程,是Spring Framework中众多特性中的一个特性,AOP可以对某个对象或某些对象的功能进行增加,比如对象中的方法进行增加,可以在执行某个方法之前额外的做一些事情,在某个方法执行之后额外的做一些事情,通常,我们会利用AOP机制来实现权限控制,日志记录,缓存,包括Spring中的事务也是通过AOP来实现的。在Spring中,AOP是通过动态代理来实现的。

Spring中的@Autowired注解的工作原理是怎样的?

@Autowired注解表示自动注入,是Spring体系中Java Config取代xml中的一种,因为在使用xml时也可以设置是否需要自动注入,只不过Spring默认是关闭的,所以不为人所知。

而@Autowired注解则取代了xml中的自动注入功能,并进行了优化,使得Spring中的自动注入功能更加方便使用。

@Autowired注解可以写在属性上,构造方法上,普通方法上,表示Spring在进行生命周期的过程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值