spring两大特性

一、spring框架简介

1 主要发明者:rod johnson

2 轮子理论推崇者:

  2.1 轮子理论:不用重复发明轮子

  2.2 IT行业:直接使用写好的代码

3 spring框架宗旨:不重新发明技术,让原有技术使用起来更加方便

4 spring几大核心技术:

  IOC/DI   控制反转/依赖注入

  AOP    面向切面编程

  声明式事务

5 spring 框架运行时环境

     

    5.1 TEST :spring提供的测试功能

    5.2 Core container:核心容器,spring 启动最基本的条件

      5.2.1 Beans:spring 负责创建类对象并管理对象

      5.2.2  Core:核心类

      5.2.3 Context:上下文参数,获取外部资源或者管理注解等

      5.2.4    sqEL:expression.jar

    5.3 Aop:实现aop功能的依赖

   5.4 Aspects:切面AOP依赖的包

   5.5 Data Access/Integeration:spring 封装数据访问层相关内容

     5.5.1 JDBC:spring 对jdbc封装后的代码

     5.5.2ORM:封装了持久层框架的代码:例如hibernate

     5.5.3 transactions:对应spring-tx.jar,声明式事务使用。

    5.6  WEB:需要spring 完成web相关功能时需要。

      5.6.1 例如:由tomcat加载spring配置文件时需要有spring-web包

6 spring框架中重要概念

  6.1  容器:spring当做一个大的容器。

  6.2   BeanFactory接口,老版本

     6.2.1  新版本中ApplicationContext接口,是BeanFactory子接口。BeanFactory的功能在ApplicationContext中都有。              

二、Ioc

  1.中文名称:控制反转

  2 英文名称:(Inversion of Control)

  3 IoC是什么?

    3.1 IoC完成的事情原先有程序员主动通过new实例化对象事情,转交给spring,

    3.2 控制反转中控制指的是:控制类的对象。

    3.3 控制反转中的反转指的是:转交给spring负责。

    3.4 Ioc最大的作用是:解耦

      3.4.1 程序员不需要管理对象,解除了对象管理和程序员之间的耦合。

   

 

 

  

 

 

aop(功能扩展,切面编程)

  AOP:中文名称面向切面编程

  英文名称:(Aspect Oriented Programming)

  正常程序执行流程都是纵向执行流程,面向切面编程,在原有纵向流程中添加横切面

  切面编程不需要修改原有程序代码,具有高扩展性,原有功能相当于释放了部分逻辑,让职责更加明确。

  面向切面编程是什么?

  答:在程序原有纵向执行流程中,针对某一个或某一些方法添加通知,形成横切面过程就叫做面向切面编程。

aop常用概念:

  原有功能:切点,prointcut

  前置通知:在切点之前执行的功能,before advice

  后置通知:在切点之后执行的功能,after advice

  异常通知:如果切点执行过程中出现异常,会触发异常通知,throws advice

  切面:所有功能总称叫做切面

  织入:把切面嵌入原有功能的过程叫做织入。

spring提供了2种AOP实现方式:Schema-based和Aspectj

https://blog.csdn.net/weixin_41648325/article/details/88925585
https://jinnianshilongnian.iteye.com/blog/1418597
https://blog.csdn.net/bobocha1990/article/details/88862376
https://www.cnblogs.com/lcngu/p/6593190.html
https://www.cnblogs.com/shirufeng/p/10607273.html

https://www.cnblogs.com/chenbenbuyi/p/10177038.html:技术人生活
https://www.cnblogs.com/chenkeyu/p/8485412.html#3912954 TCP介绍
 

参考文章:

 

spring面试题:https://blog.csdn.net/m0_37852553/article/details/78678278

 spring快速入门:https://www.cnblogs.com/wmyskxz/p/8820371.html

 

 

  

  

25个经典的spring面试题

posted @ 2019-04-09 08:58  死磕战队  阅读(898)  评论(0)    收藏  举报