IOC&AOP相关面试题总结如下:IOC相关:什么是IOC?IOC即控制反转,是一种设计思想,它将对象的创建和依赖关系的管理交由Spring容器处理,而不是在代码中显式地创建和管理对象。BeanFactory和ApplicationContext的区别是什么?BeanFactory是Spring的基础容器,提供了基本的bean配置和管理功能。ApplicationContext是BeanFactory的子接口,提供了更丰富的功能和上下文管理,如事件发布、国际化支持等。Spring管理bean的生命周期是怎样的?Spring通过回调方法管理bean的生命周期,主要包括初始化后的postconstruct和销毁前的predestroy。bean的作用域有哪些?Spring中bean的作用域主要有单例和原型两种。单例作用域意味着在整个容器中只存在一个bean实例;原型作用域则每次请求都会创建新的bean实例。如何解决Spring中的循环依赖问题?Spring通过设计模式中的工厂模式解决循环依赖问题。当存在依赖关系时,Spring会先初始化一个空的bean实例放入缓存,然后在后续的依赖链中引用缓存中的实例,待依赖完成后再进行进一步初始化。AOP相关:什么是AOP?AOP是一种编程范式,它允许开发者在不修改业务逻辑代码的情况下,将横切关注点从业务逻辑中分离出来。Spring AOP是如何实现的?Spring AOP基于动态代理实现。如果目标对象实现了接口,会使用JDK Proxy;否则,通过Cglib生成子类。JDK Proxy和Cglib的区别是什么?JDK Proxy要求目标对象为接口,是为了方便Proxy自动生成符合接口规范的代理类。Cglib则通过生成子类的方式实现代理,不需要目标对象实现接口。Spring AOP和AspectJ AOP的区别是什么?Spring AOP和AspectJ AOP的主要区别在于底层实现机制和API的丰富程度。Spring AOP是基于动态代理的轻量级实现,而AspectJ AOP则提供了更强大的功能和更丰富的API。