面试题:谈谈你对spring 的了解以及spring 中DI、AOP、IOC 的认识

  • spring 是一站式开发的轻量级开源框架,通过配置文件中的元素配置用于创建实例对象的类名和实例对象的属性
  • spring 提供IOC 和AOP 技术,我们可以将对象之间的依赖关系交给spring 来进行管理,避免了强耦合;AOP 可以帮我们进行切面式编程,例如事务的管理或登陆权限管理;
  • spring 对junit4 进行了支持,方便了程序的测试
  • 声明了事务的支持,减少代码量提高了开发效率
  • spring 封装了一些技术,例如:jdbc、远程调用等,降低了开发难度
  • spring 整合了世面上很多优秀的框架,方便集成;例如(hibernate、struts2)

IOC:控制反转,举例说实例一个对象原本由我们new 来进行实例化,现在交由spring 来进行构建放置到IOC 容器中,我们只需要调用即可;

DI:注入机制,在xml 配置文件中对配置的对象进行 属性/对象 注入



    
    




    
AOP:面向切面编程
  1. 不修改源码就进行方法的扩展    
  2. AOP 的本质横向代码抽取机制
  3. 如果是结构使用JDK 的动态代理,如果是类使用 CGLIB 方式实现动态代理(继承)

连接点:目标类中可以被增强的方法

切点:目标类中被增强了的方法

通知/增强:增强逻辑类中,具体的增强的方法(增强的逻辑)

切面:是指将增强逻辑和切点连接起来的统称的概念(切点和通知组合)

引介:在目标类中添加一个属性或方法

织入:将增强逻辑用到切点的过程



你可能感兴趣的:(面试题)