Spring问答题-创新互联

题目 01- 请你谈谈自己对于 IoC 和 AOP 的理解 IOC

IOC思想: inversion of controll 指的是 将对象的控制权交给框架,使用的时候按需使用,不需要再去手动new对象。
IOC容器:BeanFactory
在Spring项目启动的时候,会从xml文件或者注解中加载对象的声明,生成BeanDefinition,然后BeanDefiniton放到IOC容器BeanFactory中,下一步反射实例化对象,注入属性。这样,在启动后,对象实例已经生成了。

创新互联公司始终坚持【策划先行,效果至上】的经营理念,通过多达10多年累计超上千家客户的网站建设总结了一套系统有效的全网营销推广解决方案,现已广泛运用于各行各业的客户,其中包括:发电机回收等企业,备受客户赞扬。AOP

AOP思想是:aspect oriented programing 面向切面编程。核心思想是不修改当前切面的基础上增加新功能,实现方式是动态代理。其中动态代理有两种:基于jdk的和基于cglib的。
除了在Spring中,其他非常多的框架都用到了AOP思想,比如Mybatis的插件,Spring MVC的拦截器。

题目 02- 请问 Spring 如何解决循环依赖问题 Spring 解决了什么情况下的循环依赖问题?

Spring解决了set方法注入的,单例的循环依赖。

为什么不可以解决构造方法的循环依赖?

因为set方法注入发生于实例化之后,有参构造方法发生于实例化的时候

为什么需要三级缓存来解决循环依赖?

三级缓存即为3个Map,首先至少需要2个Map解决循环依赖问题,1个放成品,1个放半成品。Spring框架又设置了1个Map,这个Map的value是对象工厂,用来解决IOC问题。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前标题:Spring问答题-创新互联
网页地址:http://scyanting.com/article/dggjdd.html