互联网Java工程师面试题·Spring篇·第三弹
目录
编辑
4、注解
4.1、什么是基于注解的容器配置
4.2、如何在 spring 中启动注解装配?
4.3、Component, Controller, Repository,Service 有何区别?
4.4、Required 注解有什么用?
4.5、Autowired 注解有什么用?
4.6、Qualifier 注解有什么用?
4.7、RequestMapping 注解有什么用?
5、数据访问
5.1、spring DAO 有什么用?
5.2、列举 Spring DAO 抛出的异常。
5.3、spring JDBC API 中存在哪些类?
5.4、使用 Spring 访问 Hibernate 的方法有哪些?
5.5、列举 spring 支持的事务管理类型
5.6、spring 支持哪些 ORM 框架
4、注解
4.1、什么是基于注解的容器配置
不使用 XML 来描述 bean 装配,开发人员通过在相关的类,方法或字段声明上使用注解将配置移动到组件类本身。它可以作为 XML 设置的替代方案。例如:Spring 的 Java 配置是通过使用 Bean 和 Configuration 来实现。Bean 注解扮演与 元素相同的角色。 Configuration 类允许通过简单地调用同一个类中的其他 Bean 方法来定义 bean 间依赖关系。
例如:
@Configuration
public class StudentConfig {@Beanpublic StudentBean myStudent() {return new StudentBean();}
}
4.2、如何在 spring 中启动注解装配?
默认情况下,Spring 容器中未打开注解装配。因此,要使用基于注解装配,我们必须通过配置 <context:annotation-config/> 元素在 Spring 配置文件中启用它。
4.3、Component, Controller, Repository,Service 有何区别?
Component :这将 java 类标记为 bean。它是任何 Spring 管理组件的通用构造型。spring 的组件扫描机制现在可以将其拾取并将其拉入应用程序环境中。
Controller :这将一个类标记为 Spring Web MVC 控制器。标有它的Bean 会自动导入到 IoC 容器中。
Service :此注解是组件注解的特化。它不会对 Component 注解提供任何其他行为。您可以在服务层类中使用Service 而不是 Component,因为它以更好的方式指定了意图。
Repository :这个注解是具有类似用途和功能的 Component 注解的特化。它为 DAO 提供了额外的好处。它将 DAO 导入 IoC 容器,并使未经检查的异常有资格转换为 Spring DataAccessException。
4.4、Required 注解有什么用?
Required 应用于 bean 属性 setter 方法。此注解仅指示必须在配置时使用bean 定义中的显式属性值或使用自动装配填充受影响的 bean 属性。如果尚未填充受影响的 bean 属性,则容器将抛出 BeanInitializationException。
示例:
public class Employee {private String name;@Requiredpublic void setName(String name){this.name=name;}public string getName(){return name;}
}
4.5、Autowired 注解有什么用?
Autowired 可以更准确地控制应该在何处以及如何进行自动装配。此注解用于在 setter 方法,构造函数,具有任意名称或多个参数的属性或方法上自动装配bean。默认情况下,它是类型驱动的注入。
public class Employee {private String name;@Autowiredpublic void setName(String name) {this.name=name;}public string getName(){return name;}
}
4.6、Qualifier 注解有什么用?
当您创建多个相同类型的 bean 并希望仅使用属性装配其中一个 bean 时,您可以使用Qualifier 注解和 Autowired 通过指定应该装配哪个确切的 bean来消除歧义。
例如,这里我们分别有两个类,Employee 和 EmpAccount。在 EmpAccount中,使用Qualifier 指定了必须装配 id 为 emp1 的 bean。
Employee.java
public class Employee {private String name;@Autowiredpublic void setName(String name) {this.name=name;}public string getName() {return name;}
}
EmpAccount.java
public class EmpAccount {private Employee emp;@Autowired@Qualifier(emp1)public void showName() {System.out.println(“Employee name : ”+emp.getName);}
}
4.7、RequestMapping 注解有什么用?
RequestMapping 注解用于将特定 HTTP 请求方法映射到将处理相应请求的控制器中的特定类/方法。此注释可应用于两个级别:
类级别:映射请求的 URL
方法级别:映射 URL 以及 HTTP 请求方法
5、数据访问
5.1、spring DAO 有什么用?
Spring DAO 使得 JDBC,Hibernate 或 JDO 这样的数据访问技术更容易以一种统一的方式工作。这使得用户容易在持久性技术之间切换。它还允许您在编写代码时,无需考虑捕获每种技术不同的异常。
5.2、列举 Spring DAO 抛出的异常。

5.3、spring JDBC API 中存在哪些类?
(1)JdbcTemplate
(2)SimpleJdbcTemplate
(3)NamedParameterJdbcTemplate
(4)SimpleJdbcInsert
(5)SimpleJdbcCall
5.4、使用 Spring 访问 Hibernate 的方法有哪些?
我们可以通过两种方式使用 Spring 访问 Hibernate:
(1)使用 Hibernate 模板和回调进行控制反转
(2)扩展 HibernateDAOSupport 并应用 AOP 拦截器节点
5.5、列举 spring 支持的事务管理类型
Spring 支持两种类型的事务管理:
1、 程序化事务管理:在此过程中,在编程的帮助下管理事务。它为您提供极大的灵活性,但维护起来非常困难。
2、声明式事务管理:在此,事务管理与业务代码分离。仅使用注解或基于 XML的配置来管理事务。
5.6、spring 支持哪些 ORM 框架
Hibernate、iBatis、JPA、JDO、OJB
要想了解更多:
千题千解·Java面试宝典_时光の尘的博客-CSDN博客

相关文章:
互联网Java工程师面试题·Spring篇·第三弹
目录 编辑 4、注解 4.1、什么是基于注解的容器配置 4.2、如何在 spring 中启动注解装配? 4.3、Component, Controller, Repository,Service 有何区别? 4.4、Required 注解有什么用? 4.5、Autowired 注解有什么用? 4.6、…...
前端(二十三)——轮询和长轮询
😫博主:小猫娃来啦 😫文章核心:实现客户端与服务器实时通信的技术手段 文章目录 前言轮询技术轮询的概念轮询的实现原理轮询的优缺点轮询的使用场景 长轮询技术长轮询的概念长轮询的实现原理长轮询的优缺点长轮询的使用场景 轮询与…...
uniapp把文件中的内复制到另一个文件中
使用的是Html 5的plus.io.resolveLocalFileSystemURL方法,文档:HTML5 API Reference var soursePath file:///storage/emulated/0/a/;//用于读取var removePath file:///storage/emulated/0/w/;//用于移除w这个文件夹var targetPath file:///storage/…...
什么是蓝桥杯?什么是蓝桥STEMA考试?
第十五届蓝桥大赛赛事安排? STEMA考试11月(考试时间11月26日) STEMA考试1月(2024年1月) STEMA考试3月(2024年3月) 第十五届蓝桥杯省赛(2024年4月待定) 第十五届蓝桥杯国赛(2024年5月待定) 注:以上时间具体以组委会官方发布为准。 01.蓝桥杯 蓝桥杯全国软件和…...
快递排序Java
快速排序是在工具类常用的排序算法,快速排序的思想主要是选定一个基准元素,然后找到基准元素的位置,然后再分别排序他左边的和他右边的,快速排序是不稳定的,时间复杂度位Nlog(N),最极端的情况就是一个反向排好顺序的数组ÿ…...
Spark简单回顾
星光下的赶路人star的个人主页 大鹏一日同风起,扶摇直上九万里 文章目录 1、Spark1.1 Spark入门1.1.1 Spark部署模式1.1.2 常用端口 1.2 SparkCore1.2.1 RDD不可变和五大属性1.2.2 RDD的弹性1.2.3 cache和Checkpoint的区别1.2.4 算子 1.3 SparkSQL1.4 内核1.4.1提交…...
DDD与微服务的千丝万缕
一、软件设计发展过程二、什么是DDD?2.1 战略设计2.2 战术设计2.3 名词扫盲1. 领域和子域2. 核心域、通用域和支撑域3. 通用语言4. 限界上下文5. 实体和值对象6. 聚合和聚合根 2.4 事件风暴2.5 领域事件 三、DDD与微服务3.1 DDD与微服务的关系3.2 基于DDD进行微服务…...
S32K324 UDS Bootloader开发-需求篇
文章目录 前言内存分配UDS诊断协议需求CAN ID及时间参数UDS诊断服务Bootloader诊断服务APP诊断服务 DID22服务的DID:2E服务的DID:Routine Control DID: 刷写流程预编程主编程后编程 总结 前言 之前做过一个STM32的UDS Bootloader,协议栈主要是NXP官网下…...
【前端设计模式】之调停者模式(中介者模式)
调停者模式是一种行为设计模式,它通过引入一个调停者对象来集中处理一组对象之间的交互。调停者模式的目标是减少对象之间的直接通信,从而降低耦合度,并且使代码更易于维护和扩展。 调停者模式特性 将对象之间的通信集中在一个调停者对象中…...
【MySQL架构篇】SQL执行流程与缓冲池
文章目录 1. SQL执行流程2. 数据库缓冲池(Buffer Pool)2.1 缓冲池概述2.2 缓冲池如何读取数据2.3 查看和设置缓冲池的大小2.4 多个Buffer Pool实例2.5 引申问题 1. SQL执行流程 查询缓存:因为查询效率往往不高,所以在MySQL8.0之后就抛弃了这个功能解析器…...
[support2022@cock.li].faust、[tsai.shen@mailfence.com].faust勒索病毒数据怎么处理|数据解密恢复
引言: 威胁网络安全的恶意软件不断涌现,而[support2022cock.li].faust勒索病毒则是其中的一员。这个网络黑暗角落的新星,以其数据绑架的方式,一度成为数据安全的威胁焦点。本文将探究[support2022cock.li].faust勒索病毒的运作方…...
力扣学习笔记——49. 字母异位词分组
49. 字母异位词分组 https://leetcode.cn/problems/group-anagrams/?envTypestudy-plan-v2&envIdtop-100-liked 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。…...
五、Qt中的常用类
1. QString 字符串类 QString是Qt中的字符串类,与C/C不同的是,不再使用ASCII编码,而使用Unicode编码。因此一个字符不是8位的char,而是16位的QChar,这就是为什么之前一个汉字占用一个字符的原因。、 QString几乎向前兼…...
CentOS 7.9.2009 数据盘挂载
一、linux版本: lsb_release -a 二、操作步骤 2.1,查看磁盘挂载情况,确认sdb是需挂载的硬盘 ## 查看磁盘挂载情况,确认sdb是需挂载的硬盘 lsblk 2.2,对硬盘sdb进行分区 ## 对硬盘sdb进行分区 fdisk /dev/sdb# 命令…...
cv::solvePnP使用方法及注意点详解(OpenCV/C++)
cv::solvePnP(objectPoints, imagePoints, cameraMatrix, distCoeffs, rvec, tvec, useExtrinsicGuess, flags); 1、参数说明: objectPoints:一个 vector<cv::Point3f>,包含了在世界坐标系中的三维点的坐标,至少需要4个点…...
DevOps持续集成-Jenkins(4)
❤️作者简介:2022新星计划第三季云原生与云计算赛道Top5🏅、华为云享专家🏅、云原生领域潜力新星🏅 💛博客首页:C站个人主页🌞 💗作者目的:如有错误请指正,将…...
【数据仓库-零】数据仓库知识体系 ing
文章目录 一. 数仓基本概念二. 离线数仓建设方法论三. etl流程四. 数仓规范建设指南四. 数据仓库架构五. 数据可视化 通过熟悉构建数仓整体的过程,可以系统的了解 数仓构建理论:能够站在全局角度看数仓的运行架构,数仓执行流程。了解到构建数…...
css3 3D 转换 技巧详细解析与代码实例
CSS3 3D转换是CSS3中的一项新特性,通过它我们可以比较容易地实现3D效果。在这里,我将向大家介绍CSS3 3D转换的一些基本概念、使用方法和常见技巧。 1. 基本概念 在使用CSS3 3D转换时,需要了解一些基础概念: 三维坐标系…...
[Unity]给场景中的3D字体TextMesh增加描边方案一
取你的文本对象,简单地添加以下脚本: using UnityEngine; using System.Collections; using UnityEngine.UI;public class TextOutline : MonoBehaviour {public float pixelSize 1;public Color outlineColor Color.black;public bool resolutionDependant fal…...
TDengine(taos)数据库导出历史数据
业务需求:导出某个站点的累计充电量,累计放电量,光伏总放电量,进线总功率的所有数据‘ 1、登录taos,使用存数据的库; 提示Database changed;即为使用成功; 2、找到你想要导出的字段…...
AI 智能体可以成为你的科研助理?
想象一下,你的实验室里来了一群"AI 实习生"——它们不用睡觉、不会犯错、能同时读 100 篇论文、还能自己设计实验。这不是科幻电影,而是 2026 年 Nature Biotechnology 最新发表的"Agentic AI"(智能体 AI)正在…...
AI赋能表格,打破Excel痛点,重构数据处理新效率
在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...
如何在uni-app中实现QQ小程序社交功能:完整开发指南
如何在uni-app中实现QQ小程序社交功能:完整开发指南 【免费下载链接】hello-uniapp uni-app框架演示示例 项目地址: https://gitcode.com/gh_mirrors/he/hello-uniapp uni-app作为一款强大的跨平台应用开发框架,能够帮助开发者快速构建包含QQ小程…...
IndexTTS 2.0应用案例:如何用它快速生成有声书和播客内容
IndexTTS 2.0应用案例:如何用它快速生成有声书和播客内容 1. 引言:声音创作的新范式 在数字内容爆炸式增长的今天,有声书和播客市场正以每年20%以上的速度扩张。但高质量音频内容的制作却面临两大痛点:专业配音成本高昂…...
生态安全格局分析第一步:如何为你的ArcGIS版本(10.0-10.8/Pro)正确配对Linkage Mapper和Circuitscape?
生态安全格局分析工具链的版本兼容性全解析:从ArcGIS到Linkage Mapper的精准匹配 当你在深夜的办公室里盯着屏幕,反复尝试让Linkage Mapper与Circuitscape协同工作时,是否曾因版本不匹配而遭遇令人崩溃的错误提示?作为生态安全格局…...
Matplotlib横坐标刻度从原点开始的3种实用方法
1. 为什么横坐标刻度从原点开始很重要 做数据可视化时,我们经常需要展示数据从零开始的变化趋势。比如展示销售额增长、用户数量变化或者实验数据对比时,如果横坐标不从零开始,很容易造成视觉上的误导。我见过不少新手做的图表,因…...
ai辅助开发:为openclawskills网站打造智能个性化教程推荐引擎
最近在帮朋友优化他的技能学习网站openclawskills,想给用户增加个性化推荐功能。作为一个独立开发者,借助InsCode(快马)平台的AI辅助开发能力,整个过程比想象中顺利很多。记录下这个智能推荐系统的实现思路,或许对其他想做类似功能…...
从HTTP/3看TCP的困境:QUIC协议如何用UDP实现可靠传输?对比Wireshark抓包实例
HTTP/3时代TCP的困境与QUIC协议的革新之路 当你在手机上观看YouTube视频时,是否注意到缓冲速度比几年前快了许多?这背后隐藏着一场互联网传输协议的静默革命。传统TCP协议在移动互联网时代暴露出诸多局限性,而基于UDP的QUIC协议正在悄然改变游…...
Dify如何助力企业提升销售业绩
Dify作为一款企业级AI应用开发平台,可以通过赋能销售团队、优化销售流程,直接提升企业的销售业绩。其核心在于利用大模型能力,让销售变得更智能、更精准、更高效。🎯 精准获客与线索生成智能潜客筛选:通过Dify工作流&a…...
DeepSeek 架构深度解析:从原理到实践的完整指南
引言:重新定义大模型效率的国产之光2024年12月,DeepSeek-V3的技术报告正式发布,迅速在AI社区引发轰动。这款拥有671B总参数的混合专家模型,以仅557万美元的训练成本——不到GPT-4传闻训练成本的1/10——实现了与GPT-4o和Claude-3.…...

