面试题~ 什么是spring

  1. 首先 Spring是一种轻量级开源型框架,旨在提高开发人员的开发效率以及系统的可维护性

  2. 有俩个核心功能Ioc(控制反转)  以及 AOP  (面向切面编程)
  3.  IOC(Inversion Of Controll,控制反转)是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由给Spring框架来管理 也就是将传统的new 关键字省略不用, 减少MVC 三层之间的依赖关系 ,符合java 的高内聚 低耦合思想 ,那这个动作就说 注入依赖 ,spring 有构造器注入 setter注入 等方式  ,完成我们的spring 管理对象关系 ,而 IOC容器是Spring用来实现IOC的载体,IOC容器实际上就是一个Map(key, value),Map中存放的是各种对象。将对象之间的相互依赖关系交给IOC容器来管理,并由IOC容器完成对象的注入。

  4.  Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开  ,使得比较清晰 . 

    面向切面编程,就是 程序中的公共部分提取出来,做成切面类类似(公共类做个封装把),这样的好处在于,代码的可重用,一旦涉及到该功能的需求发生变化,只要修改该代码就行,否则,你要到处修改编写代码 ,耗时间 也掉头发 . 

    AOP底层的东西就是JDK动态代理和CGLIB代理,说白了就是增强类的功能。

    最常用的AOP应用在数据库连接以及事务处理上。

相关推荐