面试题~ 什么是spring
首先 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应用在数据库连接以及事务处理上。
相关推荐
YangHuiLiang 2020-08-06
容数据服务集结号 2020-07-19
zhangdy0 2020-07-04
与卿画眉共浮生 2020-11-13
smalllove 2020-11-03
hellowordmonkey 2020-11-02
丽丽 2020-10-30
周太郎 2020-10-28
greensomnuss 2020-10-27
职业炮灰 2020-10-16
与卿画眉共浮生 2020-10-14
feinifi 2020-10-14
feinifi 2020-10-13
yangjinpingc 2020-10-09
davis 2020-09-29
RickyIT 2020-09-27
lisongchuang 2020-09-27
tangxiong0 2020-09-03