Fork me on GitHub
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 30 下一页
摘要: 在 Spring Boot 中,造成事务不自动回滚的场景有很多,比如以下这些: 非 public 修饰的方法中的事务不自动回滚; 当 @Transactional 遇上 try/catch 事务不自动回滚; 调用类内部的 @Transactional 方法事务不自动回滚; 抛出检查异常时事务不自动回 阅读全文
posted @ 2022-09-25 21:00 磊哥|www.javacn.site 阅读(747) 评论(0) 推荐(0) 编辑
摘要: 导致 @Transactional 失效的常见场景有以下 5 个: 非 public 修饰的方法; timeout 超时时间设置过小; 代码中使用 try/catch 处理异常; 调用类内部的 @Transactional 方法; 数据库不支持事务。 很多人只知道答案但不知道原因,这就像只谈恋爱不结 阅读全文
posted @ 2022-09-20 20:33 磊哥|www.javacn.site 阅读(179) 评论(0) 推荐(0) 编辑
摘要: Spring 中的事务隔离级别和数据库中的事务隔离级别稍有不同,以 MySQL 为例,MySQL 的 InnoDB 引擎中的事务隔离级别有 4 种,而 Spring 中却包含了 5 种事务隔离级别。 1.什么是事务隔离级别? 事务隔离级别是对事务 4 大特性中隔离性的具体体现,使用事务隔离级别可以控 阅读全文
posted @ 2022-09-18 20:49 磊哥|www.javacn.site 阅读(1780) 评论(0) 推荐(0) 编辑
摘要: 一个程序中不可能没有事务,而 Spring 中,事务的实现方式分为两种:编程式事务和声明式事务,又因为编程式事务实现相对麻烦,而声明式事务实现极其简单,所以在日常项目中,我们都会使用声明式事务 @Transactional 来实现事务。 @Transactional 使用极其简单,只需要在类上或方法 阅读全文
posted @ 2022-09-14 19:44 磊哥|www.javacn.site 阅读(744) 评论(0) 推荐(2) 编辑
摘要: 在 Spring Boot 中操作事务有两种方式:编程式事务或声明式事务,接下来我们一起来看二者的具体实现。 1.编程式事务 在 Spring Boot 中实现编程式事务又有两种实现方法: 使用 TransactionTemplate 对象实现编程式事务; 使用更加底层的 TransactionMa 阅读全文
posted @ 2022-09-12 21:00 磊哥|www.javacn.site 阅读(642) 评论(0) 推荐(0) 编辑
摘要: 跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。 但这个保护机制也带来了新的问题,它的问题是给不同站点之间的正常调用,也带来的阻碍,那怎么解决这个问题呢?接下来我们一起来看。 1.跨域三种情况 在 阅读全文
posted @ 2022-09-07 20:52 磊哥|www.javacn.site 阅读(5541) 评论(0) 推荐(1) 编辑
摘要: Java 中的公共类称之为 Bean 或 Java Bean,而 Spring 中的 Bean 指的是将对象的生命周期,交个 Spring IoC 容器来管理的对象。所以 Spring 中的 Bean 对象在使用时,无需通过 new 来创建对象,只需要通过 DI(依赖注入),从 Spring 中取出 阅读全文
posted @ 2022-09-05 20:49 磊哥|www.javacn.site 阅读(2434) 评论(0) 推荐(4) 编辑
摘要: Spring 框架作为一个管理 Bean 的 IoC 容器,那么 Bean 自然是 Spring 中的重要资源了,那 Bean 的作用域是什么意思?又有几种类型呢?接下来我们一起来看。 PS:Java 中的公共类可称之为 Bean 或 Java Bean。 1.作用域 Bean 的作用域是指 Bea 阅读全文
posted @ 2022-08-31 09:26 磊哥|www.javacn.site 阅读(955) 评论(1) 推荐(1) 编辑
摘要: Spring Cloud Alibaba 是阿里巴巴提供的一站式微服务开发解决方案,目前已被 Spring Cloud 官方收录。而 Nacos 作为 Spring Cloud Alibaba 的核心组件之一,提供了两个非常重要的功能:注册中心和配置中心,我们今天来了解和实现一下二者。 1.Naco 阅读全文
posted @ 2022-08-30 20:47 磊哥|www.javacn.site 阅读(1390) 评论(0) 推荐(3) 编辑
摘要: @Autowired 和 @Resource 都是 Spring/Spring Boot 项目中,用来进行依赖注入的注解。它们都提供了将依赖对象注入到当前对象的功能,但二者却有众多不同,并且这也是常见的面试题之一,所以我们今天就来盘它。 @Autowired 和 @Resource 的区别主要体现在 阅读全文
posted @ 2022-08-29 08:38 磊哥|www.javacn.site 阅读(894) 评论(0) 推荐(2) 编辑
摘要: Spring Cloud Alibaba 是阿里巴巴提供的一站式微服务开发解决方案,目前已被 Spring Cloud 官方收录。而 Nacos 作为 Spring Cloud Alibaba 的核心组件之一,提供了两个非常重要的功能:服务注册中心(服务注册和发现)功能,和统一配置中心功能。 Nac 阅读全文
posted @ 2022-08-28 22:24 磊哥|www.javacn.site 阅读(728) 评论(1) 推荐(2) 编辑
摘要: IoC 和 DI 是 Spring 中最重要的两个概念,其中 IoC(Inversion of Control)为控制反转的思想,而 DI(Dependency Injection)依赖注入为其(IoC)具体实现。那么 DI 实现依赖注入的方式有几种?这些注入方式又有什么不同?接下来,我们一起来看。 阅读全文
posted @ 2022-08-24 08:38 磊哥|www.javacn.site 阅读(1473) 评论(0) 推荐(2) 编辑
摘要: ${} 和 #{} 都是 MyBatis 中用来替换参数的,它们都可以将用户传递过来的参数,替换到 MyBatis 最终生成的 SQL 中,但它们区别却是很大的,接下来我们一起来看。 1.功能不同 ${} 是将参数直接替换到 SQL 中,比如以下代码: <select id="getUserById 阅读全文
posted @ 2022-08-23 08:44 磊哥|www.javacn.site 阅读(1818) 评论(0) 推荐(5) 编辑
摘要: Spring Boot 中读取配置文件有以下 5 种方法: 使用 @Value 读取配置文件。 使用 @ConfigurationProperties 读取配置文件。 使用 Environment 读取配置文件。 使用 @PropertySource 读取配置文件。 使用原生方式读取配置文件。 它们 阅读全文
posted @ 2022-08-17 08:51 磊哥|www.javacn.site 阅读(1031) 评论(0) 推荐(5) 编辑
摘要: properties 和 yml 都是 Spring Boot 支持的两种配置文件,它们可以看作是 Spring Boot 在不同时期的两款“产品”。在 Spring Boot 时代已经不需要使用 XML 文件格式来配置项目了,取而代之的是 properties 或 yml 文件。 properti 阅读全文
posted @ 2022-08-15 08:43 磊哥|www.javacn.site 阅读(1084) 评论(0) 推荐(3) 编辑
摘要: IoC 和 DI 都是 Spring 框架中的重要概念,就像玫瑰花与爱情一样,IoC 和 DI 通常情况下也是成对出现的。那 IoC 和 DI 什么关系和区别呢?接下来,我们一起来看。 1.IoC 介绍 IoC 是 Inversion of Control 的缩写,翻译成中文是“控制反转”的意思,它 阅读全文
posted @ 2022-08-10 08:40 磊哥|www.javacn.site 阅读(1051) 评论(3) 推荐(1) 编辑
摘要: 在浏览器中输入 URL 之后,它会执行以下几个流程: 执行 DNS 域名解析; 封装 HTTP 请求数据包; 封装 TCP 请求数据包; 建立 TCP 连接(3 次握手); 参数从客户端传递到服务器端; 服务器端得到客户端参数之后,进行相应的业务处理,再将结果封装成 HTTP 包,返回给客户端; 服 阅读全文
posted @ 2022-08-08 09:18 磊哥|www.javacn.site 阅读(649) 评论(1) 推荐(2) 编辑
摘要: GET 和 POST 是 HTTP 请求中最常用的两种请求方法,在日常开发的 RESTful 接口中,都能看到它们的身影。而它们之间的区别,也是一道常见且经典的面试题,所以我们本文就来详细的聊聊。 HTTP 协议定义的方法类型总共有以下 10 种: PS:目前大部分的网站使用的都是 HTTP 1.1 阅读全文
posted @ 2022-08-03 08:43 磊哥|www.javacn.site 阅读(2332) 评论(3) 推荐(4) 编辑
摘要: 粘包和半包问题是数据传输中比较常见的问题,所谓的粘包问题是指数据在传输时,在一条消息中读取到了另一条消息的部分数据,这种现象就叫做粘包。 比如发送了两条消息,分别为“ABC”和“DEF”,那么正常情况下接收端也应该收到两条消息“ABC”和“DEF”,但接收端却收到的是“ABCD”,像这种情况就叫做粘 阅读全文
posted @ 2022-08-01 19:36 磊哥|www.javacn.site 阅读(1680) 评论(5) 推荐(3) 编辑
摘要: 相比于 UDP 来说,TCP 的主要特性是三个:有连接、可靠、面向数据流。所谓的“有连接”指的是 TCP 中的连接管理机制,也就是著名的三次握手和四次挥手,就像打电话一样,想要正常的交流,必须先和对方建立起连接,这就是所谓的“有连接”,而面向数据流的机制咱们以后再讲,我们今天要讨论的主题是:TCP 阅读全文
posted @ 2022-07-31 22:00 磊哥|www.javacn.site 阅读(815) 评论(0) 推荐(3) 编辑
摘要: TCP 三次握手是一道经典的面试题,它是指 TCP 在传递数据之前,需要进行 3 次交互才能正式建立起连接,并进行数据传递。 TCP 之所以需要 3 次握手是因为 TCP 双方都是全双工的。所谓全双工指的是,TCP 任何一端既是发送数据方,又是接收数据方,因此这就要求 TCP 通讯双方既要保证自己的 阅读全文
posted @ 2022-07-26 09:13 磊哥|www.javacn.site 阅读(1037) 评论(4) 推荐(4) 编辑
摘要: TCP/IP 包含四层模型,从上层往下层分别是:应用层、传输层、网络层、数据链路层。有些资料也会说 TCP/IP 是五层模型,所谓的五层模型指的是在数据链路层下面还有一个物理层,而作为软件工程师一般不需要关注物理层,所以通常我们说 TCP/IP 四层模型更多一些。 1.应用层 应用层的作用是负责应用 阅读全文
posted @ 2022-07-22 10:41 磊哥|www.javacn.site 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 在 Java 中,跳转的实现方式有两种:请求转发和请求重定向,但二者是完全不同的,所以我们今天就来盘它。 请求转发和请求重定向主要区别,包含以下 5 点: 定义不同 跳转方不同 数据共享不同 最终 URL 地址不同 代码实现不同 接下来,我们一个一个来看。 1.定义不同 **请求转发(Forward 阅读全文
posted @ 2022-07-18 09:12 磊哥|www.javacn.site 阅读(707) 评论(1) 推荐(2) 编辑
摘要: 说到 HTTPS 相信大部分人都是不陌生,因为目前我们使用的绝大数网站都是基于 HTTPS 的,比如以下这些: 那么问题来了,他们为什么要使用 HTTPS 呢?HTTPS 有哪些过人之处呢? 1.HTTP 在说 HTTPS 之前,我们先要了解 HTTP,因为 HTTP 是 HTTPS 通讯的基础。 阅读全文
posted @ 2022-07-13 08:49 磊哥|www.javacn.site 阅读(591) 评论(0) 推荐(3) 编辑
摘要: HTTP(Hyper Text Transfer Protocol)超文本传输协议,下文简称 HTTP,它的作用是用于实现服务器端和客户端的数据传输的。它可以传输任意的数据类型,如文本、HTML、图片、文件、声音等类型。 简单来说,HTTP 的作用就像一个“快递”一样,用来承载客户端(浏览器)和服务 阅读全文
posted @ 2022-07-11 08:44 磊哥|www.javacn.site 阅读(162) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 30 下一页