【面试专题】Spring篇②

架构师面试题 - Spring Boot 面试专题(33题含答案) 架构师面试题 - Spring Boot 面试专题⽤来简化 spring 应⽤的初始搭建以及开发过程 使⽤特定的⽅式来进⾏配置(properties 或 yml ⽂件)创建独⽴的 spring 引⽤程序 main ⽅法运⾏嵌⼊的 Tomcat ⽆需部署 war ⽂件简化 maven 配置Spring JavaConfig 是 Spring 社区的产品,它提供了配置 Spring IoC 容器的纯Java ⽅法。因此它有助于避免使⽤ XML 配置。 阅读详情

📃个人主页:个人主页

🔥系列专栏:Java面试专题

目录

1.spring-bean的循环依赖

2.springMVC执行流程

3.Springboot自动配置原理

4.Spring框架常见的注解(Spring,SpringMVC,SpringBoot)


 

1.spring-bean的循环依赖

循环依赖:循环依赖其实就是循环引用 , 也就是两个或两个以上的 bean 互相持
有对方 , 最终形成闭环。比如 A 依赖于 B,B 依赖于 A
循环依赖在 spring 中是允许存在, spring 框架依据三级缓存已经解决了大部
分的循环依赖
① 一级缓存:单例池,缓存已经经历了完整的生命周期,已经初始化完成的
bean 对象
② 二级缓存:缓存早期的 bean 对象(生命周期还没走完)
③ 三级缓存:缓存的是 ObjectFactory ,表示对象工厂,用来创建某个对象的

那具体解决流程清楚吗?
  • 第一,先实例A对象,同时会创建ObjectFactory对象存入三级缓存 singletonFactories
  • 第二,A在初始化的时候需要B对象,这个走B的创建的逻辑
  • 第三,B实例化完成,也会创建ObjectFactory对象存入三级缓存 singletonFactories
  • 第四,B需要注入A,通过三级缓存中获取ObjectFactory来生成一个A的对象,同时存入二级缓存,这个是有两种情况,一个是可能是A的普通对象,另外一个是A的代理对象,都可以让ObjectFactory来生产对应的对象,这也是三级缓存的关键
  • 第五,B通过从通过二级缓存earlySingletonObjects 获得到A的对象后可以正常注入,B创建成功,存入一级缓存singletonObjects
  • 第六,回到A对象初始化,因为B对象已经创建完成,则可以直接注入B,A创建成功存入一次缓存singletonObjects
  • 第七,二级缓存中的临时对象A清除

构造方法出现了循环依赖怎么解决?
由于 bean 的生命周期中构造函数是第一个执行的, spring 框架并不能解决构造函数的的依赖注入,可以使用@Lazy 懒加载,什么时候需要对象再进行 bean对象的创建。

2.springMVC执行流程

1 、用户发送出请求到前端控制器 DispatcherServlet ,这是一个调度中心
2 、 DispatcherServlet 收到请求调用 HandlerMapping (处理器映射器)。
3 、 HandlerMapping 找到具体的处理器 ( 可查找 xml 配置或注解配置 ) ,生成处理器对象及处理器拦截器( 如果有 ) ,再一起返回给 DispatcherServlet 。
4 、 DispatcherServlet 调用 HandlerAdapter (处理器适配器)。
5 、 HandlerAdapter 经过适配调用具体的处理器( Handler/Controller )。
6 、 Controller 执行完成返回 ModelAndView 对象。
7 、 HandlerAdapter 将 Controller 执行结果 ModelAndView 返回给DispatcherServlet。
8 、 DispatcherServlet 将 ModelAndView 传给 ViewReslover (视图解析器)。
9 、 ViewReslover 解析后返回具体 View (视图)。
10 、 DispatcherServlet 根据 View 进行渲染视图(即将模型数据填充至视图中)。
11 、 DispatcherServlet 响应用户。
当然现在的开发,基本都是前后端分离的开发的,并没有视图这些,一般都
是 handler 中使用 Response 直接结果返回

①用户发送请求到前端控制器DispatcherServlet

②DispatcherServlet收到请求调用HandlerMapping(处理器映射器)。

③HandlerMapping找到具体的处理器,生成处理器对象及处理器拦截器(如果有),再一起返回给DispatcherServlet。

④DispatcherServlet调用HandlerAdapter(处理器适配器)。

⑤HandlerAdapter经过适配调用具体的处理器(Handler/Controller)。

⑥方法上添加@ResponseBody

⑦通过HttpMessageConverter来返回结果转换为JSON并响应

3.Springboot自动配置原理

在 Spring Boot 项目中的引导类上有一个注解 @SpringBootApplication ,这个
注解是对三个注解进行了封装,分别是:
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan
其中 @EnableAutoConfiguration 是实现自动化配置的核心注解。 该注解通过 @Import 注解导入对应的配置选择器。关键的是内部就是读取了该项目和该项目引用的Jar 包的的 classpath 路径下 META- INF/spring.factories 文件中的所配置的类的全类名。
在这些配置类中所定义的 Bean 会根据条件注解所 指定的条件来决定 是否需要
将其导入到 Spring 容器中。
一般条件判断会有像 @ConditionalOnClass 这样的注解,判断是否有对应的class文件,如果有则加载该类,把这个配置类的所有的 Bean 放入 spring 容器中使用。

什么是自动装配

Spring Boot 相比于 Spring 的一个很大进步点在于不用再手动配置一系列配置文件,Spring Boot 提供了配置应用程序和框架所需要的基本配置,这就是自动配置。本节会先通过源码介绍自动装配,并在本节最后给出总结。

Spring Boot 启动器

Spring Boot 中的一系列启动器是自动装配的最佳实践。比如当引入了一个 spring-boot-starter-web 依赖:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Spring Boot 框架就会自动引入 web 环境所有的依赖,并且自动配置,Spring Boot 将所有的功能场景,都变成一个个启动器,想要用什么功能,只需要找到对应的启动器就可以了。

Spring Boot 的所有启动器可以在官网 https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-starter 中找到,下图是所有启动器中的一小部分: 

自动装配原理分析

Spring Boot 的主程序也可以称为启动类,这是开启 Spring Boot 项目的入口。查看源代码推荐使用 IDEA。

package com.lanqiaoyun.springbootdemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringbootdemoApplication {

  public static void main(String[] args) {
    SpringApplication.run(SpringbootdemoApplication.class, args);
  }
}

@SpringBootApplication 注解标注这个类是一个 SpringBoot 的启动类,这个注解也是自动装配的核心。

@Target、Retention、Documented、Inherited 四个注解是标准的元注解,核心在于@SpringBootConfiguration和@EnableAutoConfiguration这两个注解。

通过继续进入注解内部,可以将@SpringBootConfiguration和@EnableAutoConfiguration这两个注解的结构表示出来:

  • @SpringBootConfiguration : Spring Boot 的配置
    • @Configuration : Spring 配置类
      • @Component : Spring 的组件
  • @EnableAutoConfiguration : 自动配置
    • @AutoConfigurationPackage : 自动配置包
      • @Import({Registrar.class}) : 自动配置包注册
      • @Import({AutoConfigurationImportSelector.class}) : 导入选择器

@SpringBootConfiguration 声明了这个类为 SpringBoot 的组件,@EnableAutoConfiguration 是自动配置的核心,其中@AutoConfigurationPackage 对配置包进行了注册,AutoConfigurationImportSelector 类来进行自动装配。

继续来看看 AutoConfigurationImportSelector 这个类。

  1. 引入环境。
  2. 引入 bean 加载器。
  3. 引入资源加载器。
  4. 配置导入。

继续向下看,selectImports 中 的getAutoConfigurationEntry 方法第 86 行代码将所有的配置通过 getCandidateConfigurations 方法放进一个 List 集合中。

继续进入 getCandidateConfigurations 方法,这个配置获取的路径是 EnableAutoConfiguration.class,也就是@SpringBootApplication 所依赖的两个重要注解的其中一个。这段代码最终想表达的意思是将启动类下的所有配置都导入。 

进入 LoadFactoryNames 或者就从 Assert.notEmpty 的信息中,可以发现这些配置来自于 META-INF/spring.factories 中,从 jar 包中可以查看到具体的目录结构。

 在 spring.factories 文件中存在大量 xxxAutoConfiguration,这个文件记录了所有 starter 的自动装配类,就是这些类在容器中导入了场景需要的所有组件;并通过 @Configuration 自动配置。

通过一张图来总结一下自动装配的原理,通过上面对源码的分析,可以看出 SpringBoot 所有的自动配置都在启动类中被扫描和加载。所有的自动配置类都在 spring.properties 中。 

@ConditionalOnClass 这样的注解,判断是否有对应的class文件,如果有则加载该类,把这个配置类的所有的Bean放入spring容器中使用。

自动装配总结起来可以分为以下几步:

  1. Spring Boot 在启动的时候,从类路径下/META-INF/spring.factories 获取指定的值;
  2. 将这些自动配置的类导入容器,自动配置就会生效,进行自动配置!
  3. 以前我们需要自动配置的东西,现在 Spring Boot 帮我们做了
  4. 自动配置的东西都在 spring-boot-autoconfigure.jar 这个包下
  5. 它会把所有需要导入的组件,以类名的方式返回,这些组件就会被添加到容器;
  6. 容器中也会存在非常多的 xxxAutoConfiguration 的类(@Bean),就是这些类给容器中导入了这个场景需要的所有组件;并通过@Configuration 自动配置。
  7. 有了自动配置类,免去了我们手动编写配置文件的步骤。

4.Spring框架常见的注解(Spring,SpringMVC,SpringBoot)

Spring 的常见注解有哪些?
第一类是:声明 bean ,有 @Component 、 @Service 、 @Repository 、 @Controller
第二类是:依赖注入相关的,有 @Autowired 、 @Qualifier 、 @Resourse
第三类是:设置作用域 @Scope
第四类是: spring 配置相关的,比如 @Configuration , @ComponentScan 和 @Bean
第五类是:跟 aop 相关做增强的注解 @Aspect , @Before , @After ,@Around, @Pointcut
SpringMVC常见的注解有哪些?
@RequestMapping :用于映射请求路径;
@RequestBody :注解实现接收 http 请求的 json 数据,将 json 转换为 java 对象;
@RequestParam :指定请求参数的名称;
@PathViriable :从请求路径下中获取请求参数 (/user/{id}) ,传递给方法的形式参数;@ResponseBody :注解实现将 controller 方法返回对象转化为 json对象响应给客户端。@RequestHeader :获取指定的请求头数据,还有像@PostMapping、 @GetMapping 这些。
@RestController:@Controller+@ResponseBody
Springboot常见注解有哪些?
Spring Boot 的核心注解是 @SpringBootApplication , 他由几个注解组成 :
@SpringBootConfiguration : 组合了- @Configuration 注解,实现配置文件的功能;
@EnableAutoConfiguration :打开自动配置的功能,也可以关闭某个自动配置的选项
@ComponentScan : Spring 组件扫描

 

JAVA面试之Spring篇 Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是 用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于 XML的配置、基于注解的配置、基于Java的配置。:核心类库,提供IOC服务;:提供框架式的Bean访问方式,以及企业级功能(JNDI、定时任务等);Spring AOP:AOP服务;Spring DAO:对JDBC的抽象,简化了数据访问异常的处理;Spring ORM:对现有的ORM框架的支持; 阅读详情

相关推荐

Spring Cloud面试篇

回答: Nacos在更新实例列表时,会采用CopyOnWrite技术,首先将旧的实例列表拷贝一份,然后更新拷贝的实例列表,再用更新后的实例列表来覆盖旧的实例列表。这样在更新的过程中,就不会对读实例列表的请求产生影响,也不会出现脏读问题了。Hystix: 默认是基于线程池实现的线程隔离,每一个被隔离的业务都要创建一个独立的线程池,线程过多会带来额外的CPU开销,性能一般,但是隔离性更强。二、限流阈值(下图的红虚线)依然为3,时间窗口(有两个小窗口,共表示1秒) 内请求(绿块)超过阈值时,超出的请求被限流。

m0_66052129的博客 2118

2025年Java秋招面试必看的 | Spring 专题篇

总计有1000多道面试题,包含了MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Java 并发编程、Java基础、Spring、微服务、Linux、Spring Boot 、Spring Cloud、RabbitMQ、kafka等16个专题技术点,都是小编在今年金三银四总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家!在客户端对象的情况下,目标对象和代理对象是相同的。

mxt51220的博客 1243

Java 面试篇 - Spring Cloud 专题!

Spring Cloud 是一个微服务框架,它简化了分布式系统中常见的一些复杂任务,例如服务发现、负载均衡、断路器、配置管理等。由于其在微服务架构中的广泛应用,Spring Cloud 已经成为现代企业开发中不可或缺的一部分。在 Java 面试中,Spring Cloud 是一个非常重要的主题,掌握它可以帮助你在面试中脱颖而出。本文将围绕 Spring Cloud 的常见面试题进行详细讲解,从基础概念到具体技术细节,帮助你深入理解并准备 Spring Cloud 相关的面试问题。

喵手的博客 1590

【面试专题】Spring篇①

Core Container:核心容器,这个模块是Spring最核心的模块,其他的都需要依赖该模块。AOP:面向切面编程,它依赖核心层容器,目的是在不改变原有代码的前提下对其进行功能增强Aspects:AOP是思想,Aspects是对AOP思想的具体实现Data Access:数据访问,Spring全家桶中有对数据访问的具体实现技术Data Integration:数据集成,Spring支持整合其他的数据层解决方案,比如Mybatis。

Javascript_tsj的博客 6710

CRMEB商城系统任意文件下载漏洞(CVE-2024-52726)分析与修复

在Web应用安全领域,API接口安全是保障系统边界安全的核心环节。其原理在于通过签名验证、参数校验等机制,确保请求的合法性与完整性。这项技术的价值在于为系统间数据交互提供安全通道,防止未授权访问和数据泄露。典型的应用场景包括电商系统的对外数据接口、第三方服务集成等。然而,当签名验证逻辑存在缺陷或文件路径处理不当,便会引发严重的安全风险。本文以CRMEB开源商城系统为例,深入剖析其对外API模块中因签名验证绕过和路径遍历导致的任意文件下载漏洞。该漏洞允许攻击者下载服务器敏感文件,如数据库配置文件、日志和源码,

weixin_27722377的博客 376

android+音乐节拍检测,科学网—音乐节拍跟踪或音乐节拍检测软件,LilyBeats alpha - 石自强的博文...

我们设计并实现了一种用于实时跟踪音乐节拍的软件。该软件可以用于智能灯方案提供商,为其提供灯光随音乐变化的核心解决方案。首先给出软件的下载链接:或者音乐节拍是乐曲中表示固定单位时值和强弱规律的组织形式,亦称拍子。它有两个特性:周期性和连续性。节拍周期性表现为节拍结构,是乐曲中周期性出现的节奏序列。节拍连续性表现为音乐的平均速度,其单位为bpm(beat per minute每分钟音乐节拍的个数)。音...

weixin_39571403的博客 1400

2025最新精华版Java面试题之spring篇

Spring是一个Java开发框架,它提供了一种可扩展的模型来开发Java应用程序。Spring框架的目标是提供一个全面的解决方案,用于构建企业级应用程序。Spring框架的核心特点包括依赖注入(DI)、面向切面编程(AOP)、声明式事务管理、MVC框架等。Spring框架的核心是Spring容器,它是一个负责管理应用程序中的对象的容器。容器使用依赖注入技术来自动注入依赖项,使得开发者可以专注于编写应用程序的业务逻辑而不必关心对象创建和管理的细节。

sinat_53467514的博客 9160

FPGA人脸识别检测(先获取人脸图像以及灰度二值化)

由于图片有空洞等缺陷,所以后面要进行中值滤波、腐蚀、膨胀等算法处理,然后再对人脸进行框选,最后显示出来。最终的成像应该是下面这样的。(后面有时间再接着做哈哈哈)5、通过modelsim将操作后的图片数据写入gray_img.txt里面后,用matlab将txt转成图片。1、先用matlab将图片转换成txt数据,代码如下。读取图片的方式按照博客咸鱼里的方式来做,如下。2、FPGA读取txt数据。4、FPGA顶层模块及仿真。3、FPGA灰度二值化。

weixin_46312715的博客 2531

【Java面试专题】Spring框架篇

Java面试专题包含Redis篇、Mysql篇、SSM框架篇、微服务篇、消息中间件篇、并发编程篇、集合与数据结构篇、JVM篇、设计模式篇、以及技术场景篇。帮助大家提升面试成功率,此专题我会持续更新,望大家多多支持,共同进步!

小谷同学的博客 1177

手把手教你调试RTL8201F:从芯片手册解读到LWIP驱动移植

本文详细解析了RTL8201F PHY芯片的开发流程,从寄存器配置到LWIP驱动移植,重点介绍了RMII模式下的特殊配置要点和调试技巧。通过实战案例和高级调试方法,帮助工程师解决网络性能问题,实现与FreeRTOS+LWIP协议栈的稳定集成。

ik678901234的博客 972

优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信

优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信今天开始会陆续介绍一些优秀的开源项目,项目基本都是和FPGA或HDL相关的。对于一些找工作或者急需项目经验的人来说,这些项目...

OpenFPGA的博客 8117

面试必问的 Spring,你懂了吗?

Spring 永远滴神

程序员囧辉 5万+

在 SAP ECC 中定义 ledger 时遇到 “Define exactly one leading ledger“(消息号 FAGL_LEDGER_CUST012)的错误

摘要:SAP系统要求必须且只能定义一个主导分类账(Leading Ledger)。当出现错误消息FAGL_LEDGER_CUST012时,需通过事务码FINSC_LEDGER或SPRO路径检查分类账配置,确保仅有一个分类账被标记为"LeadingLedger",其余设为"Non-leadingLedger"。主导分类账是SAP默认用于标准报表的核心分类账,修改配置需谨慎以免影响已有数据。若问题未解决,建议检查未完成配置或查阅SAP Notes获取解决方案。

金牌架构师 802

java面试框架篇(Spring常见问题、SpringBoot、SpringMVC、mybatis经典问题、SpringCloud组件)

Springboot在启动的时候会调用run方法,run方法会执行refreshContext()方法刷新容器,会在类路径下找到springboot-boot-autoconfigure/springboot-boot-autoconfigure.jar/META-INF/spring-factories候选文件,该文件中记录中众多的自动配置类,容器会根据我们是否引入依赖是否书写配置文件的情况,将满足条件的Bean注入到容器中,于是就实现了springboot的自动装配。8、将视图渲染结果返回给客户端。

小丁的博客 1807

生成自定义工具栏

我们生成了和VBA时代几乎一样的常用的工具栏。用WPF也可以完成以后的插件开发,界面控件编写基本靠自己绘画,还有用代码去控制,代码结构像HTML,做过网站的应该可以很快入手。其它后台C#代码除了对控件代码的控制外,和WinForm基本相同,但目前来看用WPF是生成自定义工具栏的较好的办法。当然,你也可以在工具栏命令中调用WinForm程序,对Coreldraw进行操作,这也应该是比较高效的办法,下次会讨论。资源的加入是本次调试的难点之一,我们的目标是让图片资源嵌入到程序中去,不必去电脑文件目录去调用;

力先生C#程序开发 1374

C#上位机+YOLOv8实战:摄像头/视频流实时目标检测(工业级优化+完整可运行源码)

纯C#实现,无Python依赖,适配工业工控机部署;工业级优化:解决帧率、内存、鲁棒性三大核心问题;代码完整可复用,支持摄像头/视频流/RTSP多源检测;避坑指南覆盖开发中90%的常见问题,降低落地成本。相较于传统方案,该方案兼顾实时性与易用性,成本仅为商用视觉库的1/10,可快速落地到工业质检、安防、物流等场景。后续可拓展方向包括:自定义数据集训练、GPU加速推理、工业通信(PLC/串口)对接等。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 731

不吹牛,吃下我这篇,Spring面试这关算是过了(近2w字,源码级)

你好,我是yes。 这次是 Spring 面试题的总结,有些答案我写的都是源码级别的,吃下这篇,Spring 面试绝对稳了。 好了,话不多说,发车! 说下你理解的 Spring 可以从两个层面来理解 Spring。 第一个层面指的是 Spring Framework,是一个开源的应用框架,提供 IOC 和 AOP 降低了应用开发的复杂度。 第二个层面指的是 Spring 全家桶,Spring 发展到今天可以说几乎是统领了 Java,有关 Java 应用开发所需的全部功能, Spring 都提供了解决方案,包

yes 4993

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

java——《面试题——基础篇》

1、Java语言有哪些特点1、简单易学、有丰富的类库2、面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高)3、与平台无关性(JVM是Java跨平台使用的根本)4、可靠安全5、支持多线程。

行秋的博客 9850

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Spring框架——面试专题

Spring框架——面试专题 Spring框架——面试专题 Spring框架——面试专题Spring框架——面试专题前言一、Spring框架的DI和IOCIOCDI二、Spring里面 bean的scope作用域有哪些,能否解释下singleton:prototype:其他少用 (作用域 只在 WebApplicationContext)三、 AOP面向切面编程1、AOP和使用场景2、AOP里面常见的概念横切关注点通知 Advice连接点 JointPoint切入点 Pointcut切面 Aspect目标

weixin_42397937的博客 1479

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

BAT架构大牛整理出来的Spring专题面试锦集

Spring专题面试一共是24问, 1. 什么是Spring? Spring是一个反转控制IOC和AOP的开发框架和平台。 2. 解释一下Spring? 1.轻量 :Spring在大小和透明度上是轻量的,Spring基本核心版本大概只有1M,处理开销也非常小 2.反转控制Inversion of control (IoC) :Spring使用IOC实现松耦合,对象不是自己主动去...

刀哥谈Java的博客 331

新版Java面试专题视频教程——框架篇

新版Java面试专题视频教程——框架篇

这里有一只小马吖 1252

Java——《面试题——Spring篇》

Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是 用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于 XML的配置、基于注解的配置、基于Java的配置。

行秋的博客 3632

java面试题之spring篇

AOP是一种编程范式,它能够在程序运行期间动态地将代码切入到原有代码的流程中,从而实现横向关注点的处理,如日志记录、事务管理和安全检查等。在Spring中,AOP是通过代理模式来实现的,在创建Bean时为Bean生成一个代理对象,代理对象能够拦截指定方法的调用,并在执行前或执行后执行特定操作。在Spring创建对象的过程中,把对象依赖的属性注入到对象中。依赖注入主要有两种方式:构造器注入和属性注入。

wang20010104的博客 1256

Spring 框架面试篇

这是 spring 框架常见的面试题

XZY__one的博客 1175

阿里面试,spring+SpringBoot+SpringCloud+SpringMVC(Java岗)

前言 Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 Spring框架自诞生以来一直备受开发者青睐,今天在这里分享的是一套Spring面...

qq_45121279的博客 1901

spring面试专题

答题技巧: 总:当前问题回答的是那些具体的点 分:以1,2,3,4,5的方式分细节取描述相关的知识点,如果有哪些点不清楚,直接忽略过去 ​ 突出一些技术名词(核心概念,接口,类,关键方法) ​ 避重就轻:没有重点 一个问题能占用面试官多少时间?问的越多可能露馅越多 当面试官问到一个你熟悉的点的时候,一定要尽量拖时间 1.谈谈Spring IOC的理解,原理与实现? 总: 控制反转:理论思想,原来的对象是由使用者来进行控制,有了spring之后,可以把整个对象交给spring来帮我们进行管理 ​ D

Zeng_1997的博客 245
上一篇: 索尼 toio™ 应用创意开发征文|音乐拔河比赛
下一篇: 【MySQL进阶】SQL性能分析
热爱编程的小白白
热爱编程的小白白 新星计划导师 新星计划导师
博客等级 码龄5年 11万+粉丝 243原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热爱编程的小白白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值