当前位置: 首页 > news >正文

spring技术栈面试题

1 Spring支持的事务管理类型有哪些?你在项目中使用哪种方式? 

Spring支持两种类型的事务管理:

  • 编程式事务管理:这意味你通过编程的方式管理事务,给你带来极大的灵活性,但是难维护。
  • 声明式事务管理:这意味着你可以将业务代码和事务管理分离,你只需用注解和XML配置来管理事务。许多

Spring框架的用户选择声明式事务管理,因为这种方式和应用程序的关联较少,因此更加符合轻量级容器的概念。

2 为什么选择spring框架(Spring框架为企业级开发带来的好处有哪些)?

可以从以下几个方面作答:

- 非侵入式:支持基于POJO的编程模式,不强制性的要求实现Spring框架中的接口或继承Spring框架中的类。

- IoC容器:IoC容器帮助应用程序管理对象以及对象之间的依赖关系,对象之间的依赖关系如果发生了改变只需要修改配置文件而不是修改代码,因为代码的修改可能意味着项目的重新构建和完整的回归测试。有了IoC容器,程序员再也不需要自己编写工厂、单例,这一点特别符合Spring的精神"不要重复的发明轮子"。

- AOP(面向切面编程):将所有的横切关注功能封装到切面(aspect)中,通过配置的方式将横切关注功能动态添加到目标代码上,进一步实现了业务逻辑和系统服务之间的分离。另一方面,有了AOP程序员可以省去很多自己写代理类的工作。

- MVC:Spring的MVC框架是非常优秀的,从各个方面都可以甩Struts 2几条街,为Web表示层提供了更好的解决方案。

- 其他:选择Spring框架的原因还远不止于此,Spring为Java企业级开发提供了一站式选择,你可以在需要的时候使用它的部分和全部,更重要的是,你甚至可以在感觉不到Spring存在的情况下,在你的项目中使用Spring提供的各种优秀的功能。

3 spring的核心技术?(重点)

        spring 就是工厂,用于生产对象(Object) -- spring生产的对象称为:bean

        IoC:控制反转,将对象的创建权限交予spring,及由spring创建。

        之前的自己new对象,之后都是spring new对象。

        AOP:面向切面编程,将两个不相干对象通过切面方式整合在一起,进行对象增强

4 @autowired和@resource注解的区别是什么?

        1、 @Autowired注解由Spring提供,只按照byType注入;

                @resource注解由J2EE提供,默认按照byName自动注入。

        2、@Autowired默认按类型进行装配,@Resource默认按照名称进行装配。

5 spring注解Transaction什么情况下会失效?

        1 访问权限问题 (只有public方法会生效)

        2.方法用final修饰,不会生效

        3.同一个类中的方法直接内部调用,会导致事务失效

相关文章:

spring技术栈面试题

1 Spring支持的事务管理类型有哪些?你在项目中使用哪种方式? Spring支持两种类型的事务管理: 编程式事务管理:这意味你通过编程的方式管理事务,给你带来极大的灵活性,但是难维护。声明式事务管理&#x…...

Android Glide MemorySizeCalculator计算值,Kotlin

Android Glide MemorySizeCalculator计算值,Kotlin for (i in 100..1000 step 50) {val calculator MemorySizeCalculator.Builder(this).setMemoryCacheScreens(i.toFloat()).setBitmapPoolScreens(i.toFloat()).setMaxSizeMultiplier(0.8f).setLowMemoryMaxSizeMultiplier(0…...

KEIL自带的Jlink怎么升级更换版本

问题背景 V4.20以上的keil安装包中都自带Jlink驱动包,即当你安装了KEIL后,Debug或Download就是用的安装KEIL时附带安装的Jlink版本。 那如果存在这种情况,你正在开发的芯片比较新,只有比较新的Jlink驱动软件才能支持&#xff0c…...

图的遍历之 深度优先搜索和广度优先搜索

深度优先搜索的图文介绍 1. 深度优先搜索介绍 图的深度优先搜索(Depth First Search),和树的先序遍历比较类似。 它的思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各…...

Java学习笔记27——file类

File类 概述和构造方法概述构造方法 File的创建功能File类判断和获取功能File的删除功能 概述和构造方法 概述 在java.io下 具体的类 file是文件和目录路径名的抽象表示 文件和目录是可以封装成对象的对于file而言,其封装的并不是真正存在的文件(可以…...

细胞——求细胞数量 C++详解

细胞——求细胞数量 C详解 求细胞数量题目描述输入格式输出格式样例样例输入样例输出 提示数据规模与约定 解法代码 求细胞数量 题目描述 一矩形阵列由数字 0 0 0 到 9 9 9 组成,数字 1 1 1 到 9 9 9 代表细胞,细胞的定义为沿细胞数字上下左右若还…...

【计算机视觉】关于图像处理的一些基本操作

目录 图像平滑滤波处理均值滤波计算过程python实现 高斯滤波计算过程python实现 中值滤波计算过程python实现 图像的边缘检测Robert算子计算过程python实现 图像处理腐蚀算子计算过程python实现 Hog(梯度方向直方图)特征计算流程:Hog的特征维…...

Android Animation Made Easy

原文链接 Android Animation Made Easy 动画在任何一个GUI系统中都是一个非常重要的设计元素,它可以让交互变得优雅,让界面变得炫酷,让操作变得更加的舒畅,让状态过渡变得更加的顺滑,对视觉效果有极大的提升&#xff…...

56从零开始学Java之与字符串相关的正则表达式

作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 在上一篇文章中,壹哥给大家介绍了String字符串及其各种常用API方法,接下来壹哥…...

STM32 定时器自动重装载寄存器ARR带来的影响,ARPE0和1区别

ARR是啥 自动重载寄存器是预装载的。对自动重载寄存器执行写入或读取操作时会访问预装载寄存器。预装载寄存器的内容既可以直接传送到影子寄存器,也可以在每次发生更新事件 (UEV) 时传送到影子寄存器,这取决于 TIMx_CR1 寄存器中的自动重载预装载使能位 …...

vue 把<style scoped lang=“less“> 单独写成less文件再导入使用

1 npm npm install less-loader --save-dev2 创建一个单独的 Less 文件&#xff0c;例如 app.less <style scoped lang"less"> import url(./app.less); </style>3 在 app.less 文件中&#xff0c;编写 Less 样式代码 .container {width: 500px;margi…...

C++ 字符串

C 字符串 一、字符串两种写法 c语言的写法&#xff0c;可以延用 const char* str1 "huang"; char str2[] "Hello, World!";c写法 std::string str "Hello, World!";二、字符串计算长度 c语言的计算字符串长度&#xff0c;需要导入库 #inc…...

springboot 报错处理(长期更新 2023.8.10)

目录 一、HTTP 相关1.1、 数据传输方面1.1.1、 HttpMessageNotWritableException1.1.1.1、 springboot + stomp 场景一、HTTP 相关 1.1、 数据传输方面 1.1.1、 HttpMessageNotWritableException 1.1.1.1、 springboot + stomp 场景 报错内容: 使用 spring boot 和 stomp 服…...

Maven出现报错 ; Unable to import maven project: See logs for details错误的多种解决方法

问题现象; IDEA版本&#xff1a; Maven 版本 &#xff1a; 3.3.9 0.检查 maven 的设置 &#xff1a;F:\softeware\maven\apache-maven-3.9.3\conf 检查setting.xml 配置 本地仓库<localRepository>F:\softeware\maven\local\repository</localRepository>镜像…...

33_windows环境debug Nginx 源码-安装WSL

文章目录 前言安装 WSL先决条件启用 windows 更新功能真正安装 WSL133_windows环境debug Nginx 源码-安装WSL前言 虽然很想在纯 windows 环境,基于windows 的生态完成debug,但现实情况是 由于Nginx 源码编写的很多内容都和 linux 更加耦合;且不说使用 Visual-Studio 安装 C/…...

Java中的ZooKeeper是什么?

Java中的ZooKeeper是一个开源的分布式协调服务&#xff0c;它可以帮助我们管理分布式系统中的数据和配置信息。ZooKeeper是由Facebook开发的一个开源项目&#xff0c;它被广泛用于Facebook的分布式系统。 ZooKeeper的名称来源于动物园管理员&#xff08;Zookeeper&#xff09;…...

【数学】CF1796 C

Problem - 1796C - Codeforces 题意&#xff1a; 思路&#xff1a; 模拟一下样例可以发现一些规律 Code&#xff1a; #include <bits/stdc.h>#define int long longusing i64 long long;constexpr int N 1e6 10; constexpr int mod 998244353;void solve() {int l…...

SCI论文中字体和图片字体大小的要求

SCI论文中字体和图片字体大小的要求 文章目录 1. American Chemical Society(ACS)要求2. Nature要求 1. American Chemical Society(ACS)要求 https://www.zhihu.com/question/380612293?utm_id0 2. Nature要求...

react-dnd的使用

介绍&#xff1a; React DnD&#xff08;Drag and Drop&#xff09;是一个用于实现拖放功能的 React 拓展库。它提供了一组用于构建可拖动和可放置组件的高阶组件和钩子函数。 使用&#xff1a; 安装 react-dnd 和 react-dnd-html5-backend&#xff1a; npm install react-d…...

ELF program/section segment解析

ELF program/section segment解析 1 elf program segment1.1 elf program header1.2 ELF32和ELF64示例1.2.1 ELF32 program segment1.2.2 ELF64 program segment 1.3 elf program segment数据流向图 2 elf section2.1 eld section header2.2 ELF32和ELF64示例2.2.1 ELF32 secti…...

超图(iDesktop iServer10)实战:从OSGB倾斜摄影到TIF三维地形的全流程发布与加载

1. 超图平台三维数据处理全流程概览 第一次接触超图iDesktop和iServer10这套组合时&#xff0c;我被它处理三维数据的能力惊艳到了。这套工具不仅能搞定倾斜摄影OSGB数据&#xff0c;还能把普通的TIF地形图变成可交互的三维场景。很多刚入门的同行经常问我&#xff1a;"为…...

ChanlunX缠论插件:5分钟快速掌握专业级股市技术分析

ChanlunX缠论插件&#xff1a;5分钟快速掌握专业级股市技术分析 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 想要在复杂多变的股市中精准把握买卖时机吗&#xff1f;ChanlunX缠论插件将深奥的缠中说禅…...

【GESP】C++一级真题 luogu-B4495, [GESP202603 一级] 交朋友

2026年3月&#xff0c;GESP一级真题&#xff0c;考察基础语句和逻辑&#xff0c;难度★☆☆☆☆。 B4495 [GESP202603 一级] 交朋友 题目要求 题目题解详见https://www.coderli.com/gesp-1-luogu-b4495/ https://www.coderli.com/gesp-1-luogu-b4495/https://www.coderli.co…...

MusicFree插件生态全解析:从音源接口到个性化音乐体验

1. MusicFree插件生态&#xff1a;你的音乐管家 第一次打开MusicFree时&#xff0c;我就被它的简洁震撼到了——没有烦人的开屏广告&#xff0c;没有强制推送的会员套餐&#xff0c;只有一个干净利落的播放界面。但真正让我惊艳的是它的插件生态&#xff0c;就像给播放器装上了…...

深度学习学习算法的三要素 —— 任务、性能与经验(十五)

1. 定位导航 前 14 篇完成了所有数学基础——线性代数、概率与信息论、数值计算。从本篇开始,正式进入机器学习和深度学习的核心内容。 Mitchell 在 1997 年给出了机器学习的经典定义: “对于某类任务 TTT 和性能度量 PPP,一个计算机程序被认为可以从经验...

终极指南:如何用 Ice 重新定义 macOS 菜单栏使用体验

终极指南&#xff1a;如何用 Ice 重新定义 macOS 菜单栏使用体验 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice 你是否曾经因为 Mac 顶部菜单栏过于拥挤而感到烦躁&#xff1f;那些不断堆积的应用图…...

CC工具箱实战:SHP转TXT通用版,从数据到自定义描述的完整流程

1. 为什么需要SHP转TXT工具&#xff1f; 在日常的GIS数据处理工作中&#xff0c;我们经常会遇到需要将SHP格式的地块数据转换为特定格式的TXT文件的需求。比如在土地调查项目中&#xff0c;上级部门可能要求提交包含地块坐标和属性的文本文件&#xff1b;在数据上报时&#xff…...

SleeperX:Mac智能睡眠控制终极方案,告别合盖中断烦恼

SleeperX&#xff1a;Mac智能睡眠控制终极方案&#xff0c;告别合盖中断烦恼 【免费下载链接】SleeperX MacBook prevent idle/lid sleep! Hackintosh sleep on low battery capacity. 项目地址: https://gitcode.com/gh_mirrors/sl/SleeperX 在Mac使用中&#xff0c;你…...

MySQL 存储过程中字符集不匹配导致查询性能下降的解决方案

本文详解 MySQL 存储过程中因 COLLATE 显式指定与列实际字符集/排序规则不兼容&#xff0c;导致索引失效、查询变慢的根本原因&#xff0c;并提供可落地的字符集统一策略、SQL 优化写法及验证方法。 本文详解 mysql 存储过程中因 collate 显式指定与列实际字符集/排序规则…...

别再死磕A*了!用MATLAB从零实现RRT*路径规划(附完整代码与避坑指南)

从A到RRT&#xff1a;MATLAB实战高维空间路径规划全解析 当传统栅格搜索算法在机器人关节空间或复杂三维环境中捉襟见肘时&#xff0c;概率采样方法正成为新一代路径规划的核心利器。本文将带您深入理解RRT算法相对于A的突破性优势&#xff0c;并通过MATLAB完整实现过程&#…...