Spring框架-面试题核心概念

article/2025/9/25 9:21:19

目录

1.Spring框架的作用是什么?

2. 什么是DI?

3.什么是AOP?

4.Spring常用注解

5.Spring中的设计模式

6.Spring支持的几种bean的作用域

7.Spring中Bean的生命周期?

8.Spring中的事务管理

9.Spring中的依赖注入方式有几种

10.Spring的配置方式有哪些


1.Spring框架的作用是什么?

要点:

Spring是一个开源框架,主要为了简化企业级应用的开发。它是一个IOC和AOP的容器框架。核心功能如下:

(1)DI依赖注入容器,实现面向接口、模块化开发。

(2)AOP面向切面容器,实现程序的动态统一增强。

(3)为不同的ORM技术提供Session管理和声明式事务管理,简化数据层开发。

(4)提供优秀的SpringMVC框架,简化界面层开发,也可以轻松整合其他MVC框架。

(5)提供Spring Boot快速配置,Spring Cloud微服务架构。简化各种企业级技术的实现:如NoSQL、大数据、分布式技术等等。

2. 什么是DI?

要点:

DI(Dependency Injection)是指依赖注入或者叫控制反转(IOC),指程序中对象所依赖的子对象不用在硬编码中创建,而是通过容器(如Spring)在运行时再注入进来。

    DI使得模块间只依赖于接口,而不是实现类(实现类在运行时由容器注入),使得软件模块可以独立开发与测试,降低耦合度。

3.什么是AOP?

要点:

AOP(Aspect Oriented Programming)面向切面编程。可以在不修改原有代码的基础上为方法注入增强代码的一种方式。AOP是通过代理模式或者动态代理的方式,把外部代码织入到原有程序中的。AOP典型的应用场景就是事务,日志,权限,异常处理等。

AOP利用“横切"的技术,剖开封装的对象内部,并将影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,有利于未来的可操作性和可维护性。

4.Spring常用注解

要点:

(1)组件相关:

@Component 组件,例如工具类

@Service 在业务逻辑层使用

@Repository 在数据访问层使用

@Controller  控制器的声明

(2)依赖注入:

@Autowired:由Spring提供,按类型实现依赖注入

@Resource:由JSR-250提供

(3)配置注解:

@Configuration 声明当前类为配置类

@Bean 注解在方法上,声明当前方法的返回值为一个bean,替代<bean/>

@ComponentScan 设置包的扫描范围

(4)AOP注解:

@Aspect 声明一个切面(类上)

@After 后置通知

@Before 前置通知

@Around 环绕通知

@PointCut 声明切点

@Scope 设置Bean的作用范围

5.Spring中的设计模式

要点:

    代理模式:在AOP使用动态代理实现切面编程

    单例模式:在spring配置文件中定义的bean默认为单例模式。

    模板方法模式:用来解决代码重复的问题。

    前端控制器模式:Spring提供了DispatcherServlet来对请求进行分发。

    依赖注入模式:贯穿于BeanFactory / ApplicationContext接口的核心理念。

    工厂模式:BeanFactory用来创建对象的实例。

6.Spring支持的几种bean的作用域

要点:

     singleton:单例,默认作用域,SpringIOC容器中只存在一个实例

     prototype:每次通过Spring容器获取prototype定义的bean时,都将创建一个新的Bean实例,每个Bean实例都有自己的属性和状态,

     request:在一次Http请求中,容器会返回该Bean的同一实例。而对不同的Http请求则会产生新的Bean,而且该bean仅在当前Http Request内有效。

     session:在一次Http Session中,容器会返回该Bean的同一实例。而对不同的Session请求则会创建新的实例,该bean实例仅在当前Session内有效。

      global Session:在一个全局的Http Session中,容器会返回该Bean的同一个实例,仅在使用 portlet context时有效。

7.Spring中Bean的生命周期?

要点:

Bean的生命周期经历了一系列方法,比较关键的过程有以下几点:

(1)实例化一个Bean,就是通常说的new;

(2)初始化:按照Spring上下文对实例化的Bean进行配置,也就是IOC注入。如果这个Bean的Spring配置中配置了init-method属性,会自动调用其配置的初始化方法

(3)Bean的调用:获取bean并进行调用;

(4)Bean销毁:当Bean不再需要时,会经过清理阶段,如果Bean实现了DisposableBean接口,会调用其实现的destroy方法。如果这个Bean的Spring配置中配置了destroy-method属性,会自动调用其配置的销毁方法。

8.Spring中的事务管理

要点:

作为企业级应用程序框架,Spring在不同的事务管理API之上定义了一个抽象层。而应用程序开发人员不必了解底层的事务管理API,就可以使用Spring的事务管理机制。Spring既支持编程式事务管理(也称编码式事务),也支持声明式的事务管理。

编程式事务管理:将事务管理代码嵌入到业务方法中来控制事务的提交和回滚,在编程式事务中,必须在每个业务操作中包含额外的事务管理代码。

    声明式事务管理:大多数情况下比编程式事务管理更好用。它将事务管理代码从业务方法中分离出来,以声明的方式来实现事务管理。事务管理作为一种横切关注点,可以通过AOP方法模块化。Spring通过Spring AOP框架支持声明式事务管理。

9.Spring中的依赖注入方式有几种

要点:

(1)set属性注入

(2)构造器注入

(3)静态工厂方法注入

(4)实例工厂方法注入

10.Spring的配置方式有哪些

要点:

   Spring支持xml配置,注解配置以及JavaConfig配置三种形式。

(1)基于 xml 配置

<bean id=”dao” class=”com.demo.dao.impl.UserDaoImpl”></bean>

(2)基于注解配置

可以通过在相关的类,方法或字段声明上使用注解,将 bean 配置为组件类本身,而不是使用 XML 来描述 bean 装配。默认情况下,Spring 容器中未打开注解装配

<beans><context:annotation-config/>
</beans>

(3) 基于 Java API 配置

Spring 的 Java 配置是通过使用 @Bean 和 @Configuration 来实现。

@Bean 注解扮演与 <bean /> 元素相同的角色。

@Configuration 标记配置类,替代了xml配置中的配置文件


http://chatgpt.dhexx.cn/article/FGpTVFUp.shtml

相关文章

MyBatis+Spring+SpringMVC框架面试题整理(一)

目录 SpringMVC 的工作原理 谈谈你对SpringMVC的理解 SpringMVC 常用注解都有哪些? Spring 的常用注解 如何开启注解处理器和适配器? 如何解决 get 和 post 乱码问题? 谈谈你对 Spring 的理解 Spring 中的设计模式(解释) 简单介绍一下 Spring bean 的生命周期&…

面试官:看你简历上写熟悉Spring框架,谈谈对Spring的理解

今天只谈一下我们在面试中的如果面试官问到Spring&#xff0c;你应该怎么去回答&#xff0c;来获取面试官的青睐。在我的印象中&#xff0c;Spring框架可以说是Java世界里面最为成功的框架了&#xff0c;在企业的实际的应用里面&#xff0c;大部分的企业架构都是基于Spring框架…

说实话,面试这么问Spring框架的问题,我快扛不住了

面试官&#xff1a;Spring Framework有用过吧? 小小白&#xff1a;用过(有些心虚&#xff0c;因为Spring框架中内容太多了)。 面试官&#xff1a;在applicationgContext.xml文件中定义了一个bean&#xff0c;id为authService&#xff0c;通过ApplicationContext实例对象的getB…

【java面试】框架篇之Spring

1.你如何理解Spring? 具体来说Spring是一个轻量级的容器&#xff0c;用于管理业务相关对象的。核心功能主要为&#xff1a;IOC,AOP,MVC。 IOD&#xff1a;控制反转&#xff0c;将对象的创建过程交给容器&#xff0c;让容器管理对象的生命周期如创建&#xff0c;初始化&#…

spring框架-如何面试(四)

回顾&#xff1a; spring框架-认识spring框架&#xff08;一&#xff09; spring框架-认识IOC&#xff08;二&#xff09; spring框架-认识AOP&#xff08;三&#xff09; 面试官关于spring最喜欢、也是概率最大的提问 谈谈你对spring的理解 spring的官方定义&#xff1a;…

Spring框架面试题总结(面试必备)

1. spring 概述部分 1.1 什么是spring? 1.2 spring框架的核心? 1.3 spring框架的优缺点 1.4 spring5 的主要模块构成 1.5 Spring 框架中都用到了哪些设计模式&#xff1f; 1.6 讲解一下核心容器&#xff08;spring context应用上下文) 模块 2. spring的控制反转&#xff08…

cmos管宽长比,OC, OD门和线与逻辑,传输门,竞争冒险,三态门

https://blog.csdn.net/vivid117/article/details/100187137 pmos,nmos宽长比https://blog.csdn.net/qq_34070723/article/details/89291200 cmos宽长比&#xff1a; 1.CMOS的宽长比 关于COMS原理及结构图可以参考[1]COMS原理及门电路设计. 栅在源漏方向的长度称作栅的长L&…

OD门OC门

什么是集电极开路&#xff08;OC&#xff09;&#xff1f; % {0 V: X2 {1 I2 s E( y; n! S 我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示&#xff0c;右边的那个三极管集电极什么都不接&#xff0c;所以叫做集电极开路&#xff08;左边的三极管为反相之用…

最强深入浅出上拉、OC门、OD门 —— 电子电路基础2

写在前面&#xff1a;对于本科阶段数电课程课时比较少的学校&#xff0c;这一块老师很可能就跳过了&#xff0c;对于这一块的知识来源&#xff0c;清华大学阎石的数电课本在第三章CMOS门电路和TTL门电路。 先看一些电路&#xff1b; &#xff08;1&#xff09;为什么有些时候单…

女朋友去应聘硬件工程师,面试官考她OC门、OD门和推挽输出!

硬件工程师的笔试题中经常会考OC门和OD门&#xff0c;有的放在面试中问&#xff0c;多个OC或者多个OD门能组成线与结构&#xff0c;线与结构考的更频繁&#xff0c;还有一个推挽输出&#xff0c;有一些单片机的GPIO用的就是这种结构&#xff0c;如最常见的STM32。 原创博主AirC…

OC门、OD门和推挽输出

1. OC门 OC意为集电极开路&#xff0c;结构如下&#xff1a; OC门电路 A0&#xff0c;①截止&#xff0c;②导通&#xff0c;相当于开关闭合&#xff0c;输出0V&#xff08;实际输出不是0V&#xff0c;因为三极管存在饱和压降&#xff09;。 A1&#xff0c;①导通&#xff0…

线与逻辑与OC门、OD门关系

线与逻辑:两个或多个输出信号连接在一起可以实现逻辑“与”的功能。 以下图为例: 当与非门G1和G2输出都为1时,输出L才为1;只要有一个输出为0,则输出L为0。 在硬件上,要用OC门(三极管,集电极开路)或OD门(NMOS,漏极开路)来实现。另外,为了防止灌电流过大,在输出端…

数字电路基础知识——CMOS门电路 (与非门、或非、非门、OD门、传输门、三态门)

数字电路基础知识——CMOS门电路 (非门、或非门、与非门、或门、与门、与或非门、异或门、OD门、传输门、三态门) 先了解二极管门电路逻辑&#xff0c;再次介绍CMOS门电路&#xff0c;也是IC中用的最广泛的门电路。 主要了解与非门、或非门以及相同面积的cmos与非门和或非门哪个…

CMOS门电路(OD门、传输门、双向模拟开关、三态门)

文章目录 【 1. MOS管】【 2. CMOS电路】电路结构拉电流灌电流 【 3. 多余输入端的处理】【 4. 扇出系数】【 5. 输入噪声容限】提高噪声容限的方法 【 6. 电压、电流的传输特性】【 7. 静态输入、输出特性】静态输入特性静态输出特性 【 8. 动态特性】①传输延迟时间②交流噪声…

OC门与OD门以及线与逻辑

OC&#xff08;Open Collector&#xff09;门又叫集电极开路门&#xff0c;主要针对的是BJT电路&#xff08;从上往下依次是基极&#xff0c;集电极&#xff0c;发射极&#xff09;OD&#xff08;Open Drain&#xff09;门又叫漏极开路门&#xff0c;主要针对的是MOS管&#xf…

OC门电路和OD门电路的区别

OC门电路和OD门电路的区别 一、OC门电路是什么&#xff1f;二、OD门电路是什么&#xff1f;三、总结 一、OC门电路是什么&#xff1f; OC门电路&#xff1a;集电极开路&#xff08;open collector&#xff09; OC门电路的工作原理&#xff1a; 1&#xff09;当INPUT输入高电平…

CMOS搭建反相器、与非门和或非门以及OD和三态门

文章目录 基本概念1. N沟道增强型MOS管2. P沟道增强新MOS管 反相器与非门或非门OD门和三态门1.OD门2.三态门 基本概念 CMOS&#xff08;互补对称式金属-氧化物-半导体电路&#xff09;&#xff0c;具有源极&#xff08;S&#xff09;、栅极&#xff08;G&#xff09;和漏极&am…

OC门、OD门与推挽输出

硬件工程师的笔试题中经常会考OC门和OD门&#xff0c;有的放在面试中问&#xff0c;多个OC或者多个OD门能组成线与结构&#xff0c;线与结构考的更频繁&#xff0c;还有一个推挽输出&#xff0c;有一些单片机的GPIO用的就是这种结构&#xff0c;如最常见的STM32。 原创博主&…

OD OC 门

在电路中常会遇到漏极开路&#xff08;Open Drain&#xff09;和集电极开路&#xff08;Open Collector&#xff09;两种情形。漏极开路电路概念中提到的“漏”是指 MOSFET的漏极。同理&#xff0c;集电极开路电路中的“集”就是指三极管的集电极。在数字电路中&#xff0c;分别…

数字电路2. OC门、OD门、三态门

数字电路2. OC门、OD门、三态门 一、OC门——集电集开路门1. 基本概念2. 作用3. 使用要点4. OC门的简单实现 二、OD门——漏极开路门四、三态门1. 概念2. 三态门的作用3. 简单仿真&#xff08;1&#xff09;1使能高电平&#xff08;2&#xff09;1使能低电平 一、OC门——集电集…