面试题~ 什么是spring
2021-02-09 22:16
-
首先 Spring是一种轻量级开源型框架,旨在提高开发人员的开发效率以及系统的可维护性。
- 有俩个核心功能Ioc(控制反转) 以及 AOP (面向切面编程)
-
IOC(Inversion Of Controll,控制反转)是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由给Spring框架来管理 也就是将传统的new 关键字省略不用, 减少MVC 三层之间的依赖关系 ,符合java 的高内聚 低耦合思想 ,那这个动作就说 注入依赖 ,spring 有构造器注入 setter注入 等方式 ,完成我们的spring 管理对象关系 ,而 IOC容器是Spring用来实现IOC的载体,IOC容器实际上就是一个Map(key, value),Map中存放的是各种对象。将对象之间的相互依赖关系交给IOC容器来管理,并由IOC容器完成对象的注入。
-
Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开 ,使得比较清晰 .
面向切面编程,就是 程序中的公共部分提取出来,做成切面类类似(公共类做个封装把),这样的好处在于,代码的可重用,一旦涉及到该功能的需求发生变化,只要修改该代码就行,否则,你要到处修改编写代码 ,耗时间 也掉头发 .
AOP底层的东西就是JDK动态代理和CGLIB代理,说白了就是增强类的功能。
最常用的AOP应用在数据库连接以及事务处理上。