【后端面经-Spring】Spring简介

端面,spring,简介 · 浏览次数 : 35

小编点评

**Spring简介目录** 1. **Spring简介** 2. **Spring模块** 3. **Spring核心特性** 4. **Spring的后续拓展面试模拟参考资料** **Spring简介** Spring 是一个用于简化 Java 项目开发设计的开源框架。它基于分层架构,解决业务逻辑层和各层之间的松耦合。 **Spring模块** Spring框架可分为以下主要模块: * **核心容器(Core Container):**提供 Spring框架的基本功能。 * **数据访问/集成(Data Access/Integration)网络(Web):**管理数据访问和集成。 * **AOP模块和Aspects(切面):**提供面向切面编程的能力。 * **设备(Instrumentation):**用于监控应用程序的性能和资源使用。 * **测试(Test):**提供测试框架。 **Spring核心特性** * **IOC(控制反转):**将原本由程序手动创建对象的控制权交给 Spring 框架。 * **AOP(面向切面编程):**将项目中的通用功能进行封装,形成独立切面。 * **IOCIOC(Inversion of Control)即控制反转:**是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理。

正文

【后端面经-Spring】Spring简介

1. Spring简介

Spring是为了简化java项目开发设计的一款设计层面开源框架,其设计目的就是为了“简化开发”。
它使用分层架构,解决业务逻辑层和各层之间的松耦合。
核心特性:

  • IOC:控制反转;
  • AOP:面向切面编程;

2. Spring模块

Spring框架可分为如下所示的模块:

  • 核心容器(Core Container):核心容器提供Spring框架的基本功能;
  • 数据访问/集成(Data Access/Integration)
  • 网络(Web);
  • AOP模块和Aspects(切面);
  • 设备(Instrumentation);
  • 测试(Test);
    每个模块的详细介绍可参考此博客:Spring详解(一)----Spring框架介绍

3. Spring核心特性

  1. IOC
    IOC(Inversion of Control)即控制反转,是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由Spring框架来管理。
    Spring框架在核心容器中的BeanFactory模块中使用了工厂模式创建Java对象,这些对象就是常说的“Bean”对象,对于Bean对象的生命周期、创建方式,在此不做赘述。
    DI(Dependency Injection)即依赖注入,是IOC的一种实现方式,即通过反射机制,将Bean对象的属性注入到Bean对象中。有两种注入方式:设值注入(通过setter方法进行设置,较为简单)、构造注入(可构造依赖注入的优先级,但是较为复杂)。
  2. AOP
    AOP(Aspect Oriented Programming)即面向切面编程,是一种编程思想,是对OOP(Object Oriented Programming)的补充,OOP是对业务逻辑的封装,而AOP是对业务逻辑的分离,即将业务逻辑和非业务逻辑分离,使得业务逻辑更加清晰。
    AOP将项目中的通用功能进行封装,形成独立切面从而复用。

4. Spring的后续拓展

Spring是由Rod Johnson于2003年创建的,目前已经发展到了Spring5.0版本。后来,在Spring框架的基础上,又引申出了SpringBoot、SpringCloud等框架,这些框架都是基于Spring框架的,是Spring框架的拓展。目前SpringBoot框架也是一个常用框架。
学习路径应如下所示:

Java基础-->设计模式-->Spring框架-->SpringMVC-->SpringBoot、SpringCloud

面试模拟

Q:介绍一下Spring,什么是IOC、AOP、JavaBean?
A:Spring是为了简化java开发而设计的设计层面开源框架,核心思想是控制反转和面向切面编程,其中,控制反转指的是原本由程序手动创建对象的权力交给spring框架,从而实现资源的集中管理,创建的对象使用依赖注入的思想传递给相关类,这些被创建的对象称为“Bean”对象;而面向切面编程指的是将项目中的通用功能进行封装,形成独立切面从而复用。

参考资料

  1. Spring详解(一)----Spring框架介绍
  2. Spring基础知识汇总 Java开发必看
  3. Spring开发-廖雪峰官方网站

与【后端面经-Spring】Spring简介相似的内容:

【后端面经-Spring】Spring简介

本文简单介绍了Spring的基本概念、组成模块、核心思想和相关拓展。

【后端面经-Spring】Spring 中 bean 的生命周期)

本文简单介绍了spring中bean的生命周期

【后端面经-Java】String与StringBuffer与StringBuilder的比较

本文从String、StringBuffer、StringBuilder三者的特性出发,详细介绍三者的不同之处。

【后端面经-数据库】MySQL的存储引擎简介

对于mysql中常用的四类存储引擎MyISAM、InnoDB、MEMORY、MERGE的介绍和性能对比。

【后端面经-数据库】MySQL的事务隔离级别简介

对于数据库常用的事务隔离级别进行解释和区分,并解释三类读取错误——脏读、不可重复读、幻读的区别。

【后端面经】MySQL主键、唯一索引、联合索引的区别和作用

本文介绍了MySQL中主键、唯一索引、联合索引的特点和区别,并且介绍了“索引”对于数据库操作的影响。

【后端面经-Java】Java创建线程的方法简介

本文简要介绍了java中创建线程的四种方式,并介绍了线程概念,适合新手阅读。

【后端面经-java】java线程池满的处理策略

本文对java线程池做了具体介绍,并且讨论了java线程池满了之后的拒绝策略。

【后端面经-Java】HashMap详解

本文详细介绍了hashmap,包括基本概念、hashmap数据结构、关键变量和重要方法,并且结合源码进行分析。

【后端面经-Java】Synchronize和ReentrantLock区别

本文介绍了Synchronize和ReentrantLock同步锁的相似和不同点,并指出两者的主要特点和适用场景。