![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaEE进阶
文章平均质量分 94
Dark And Grey
Java领域高质量创作者
展开
-
JavaEE进阶常见面试问题 - 细节狂魔
关于 JavaEE 进阶 的内容,在上篇Spring事务和事务传播机制已经讲完了。这篇文章,不光为了你们,也是为了我自己。这篇问斩,主要讲解 JavaEE 进阶,在面试可能遇到问题。属于 面试的复习资料。注意!本文大部分都是超链接,看到不懂的,或者说印象不深的,可以点过去复习。简单说,就是A对象依赖B对象,B对象⼜依赖A对象,类似的代码如下:给你一种 链表的 “环”的感觉。}注意!这不是死锁!叫法不一样!使用三级缓存,就可以解决这个问题。原创 2022-08-24 12:07:05 · 2165 阅读 · 26 评论 -
JavaEE进阶 - Spring事务和事务传播机制 - 细节狂魔
同样的代码,我们把 LogInfoService的 addLog 和 UserService 的 addUser方法 ,它们的@Transactional 后面的 事务传播级别的设置删除掉了,其它的代码都不改。项目中设置的隔离级别,就好比是 那 8 w,我们连接的数据库中支持的隔离级别,就好比是 那8k,很明显我们的数据库是无法支持 我们项目中对隔离级别设置的、当整个调用链上,有一个程序里面有多个方法的时候,然后,多个方法相互调用的时候,并且这多个方法,都具有事务的时候,这个情况,就是 事务嵌套的问题。原创 2022-08-22 12:27:13 · 1470 阅读 · 38 评论 -
JavaEE进阶 - SpringBoot 统⼀功能处理 - 细节狂魔
接下来是 Spring Boot 统⼀功能处理模块了,也是 AOP 的实战环节,要实现的⽬标有以下 3 个:1、统⼀⽤户登录权限验证;2、统⼀数据格式返回;3、统⼀异常处理。接下我们⼀个⼀个来看。HandlerInterceptor 的 中文意思 就是 拦截器。重写 的 preHeadle 方法,返回值的类型是 布尔类型。返回是 true,则表示通过了 拦截器的验证,可以继续 执行,调用 目标方法了。反之,验证没有通过,直接返回一个错误信息。...原创 2022-08-18 14:39:49 · 1592 阅读 · 20 评论 -
JavaEE进阶 - Spring AOP - 细节狂魔
在介绍 Spring AOP 之前,⾸先要了解⼀下什么是 AOP?AOP(Aspect Oriented Programming):⾯向切⾯编程,它是⼀种思想,它是对某⼀类事情的集中处理。⽐如⽤户登录权限的效验,没学 AOP 之前,我们所有需要判断⽤户登录的⻚⾯(中的⽅法),都要各⾃实现或调⽤⽤户验证的⽅法,然⽽有了 AOP 之后,我们只需要在某⼀处配置⼀下,所有需要判断⽤户登录⻚⾯(中的⽅法)就全部可以实现⽤户登录验证了,不再需要每个⽅法中都写相同的⽤户登录验证了。...原创 2022-08-15 22:57:40 · 2811 阅读 · 34 评论 -
Java进阶 - MyBatis查询数据库 && Spring Boot 单元测试 - 细节狂魔
经过前⾯的学习咱们 Spring 系列的基本操作已经实现的差不多了,接下来,咱们来学习更重要的知识,将前端传递的数据存储起来,或者查询数据库⾥⾯的数据。单元测试(unit testing),是指对软件(项目)中的最⼩可测试单元进⾏检查和验证的过程就叫单元测试。单元测试是开发者编写的⼀⼩段代码,⽤于检验被测代码的⼀个很⼩的、很明确的(代码)功能是否正确。执⾏单元测试就是为了证明某段代码的执⾏结果是否符合我们的预期。如果测试结果符合我们的预期,称之为测试通过,否则就是测试未通过(或者叫测试失败)。......原创 2022-08-11 18:15:59 · 13387 阅读 · 49 评论 -
JavaEE进阶 - Spring MVC 程序开发 - 细节狂魔
官⽅对于SpringMVC的描述是这样的翻译为中⽂SpringWebMVC是基于ServletAPI构建的原始Web框架,从⼀开始就包含在Spring框架中。它的正式名称“SpringWebMVC”来⾃其源模块的名称(Spring-webmvc),但它通常被称为“SpringMVC”。题外话1、因为SpringWebMVC是基于ServletAPI,所以Servlet是SpringMVC的“父亲”。Model(模型)...原创 2022-07-31 19:37:12 · 2718 阅读 · 55 评论 -
JavaEE进阶 - Spring Boot 日志文件 - 细节狂魔
SpringBoot⾃定义打印⽇志的实现步骤1、在一个类中先获取到打印日志对象,日志对象是日志框架提供的,而日志框架默认已经集成到SpringBoot里面了。(SpringBoot内置了日志框架)2、使⽤⽇志对象提供的方法实现日志的打印。接下来我们分别来看⽇志是程序中的重要组成部分,使⽤⽇志可以快速的发现和定位问题。SpringBoot内容了⽇志框架。默认情况下使⽤的是info⽇志级别将⽇志输出到控制台的。配置⽇志的保存名称或保存⽬录https。...原创 2022-07-24 17:10:09 · 2942 阅读 · 48 评论 -
JavaEE进阶 - Spring Boot 配置文件 - 细节狂魔
1、properties是以key=value的形式配置的键值类型的配置⽂件.⽽yml使⽤的是类似json格式的树形配置⽅式进⾏配置的.yml层级之间使⽤换⾏缩进的⽅式配置,key和value之间使⽤“”(英⽂)冒号加空格的⽅式设置,并且空格不可省略。2、properties为早期并且默认的配置⽂件格式,但其配置存在⼀定的冗余数据,使⽤yml可以很好的解决数据冗余的问题。...原创 2022-07-22 14:52:23 · 2012 阅读 · 35 评论 -
JavaEE进阶 - SpringBoot 的 概念、创建和运行 - 细节狂魔
Spring的诞⽣是为了简化Java程序的开发的,⽽SpringBoot的诞⽣是为了简化Spring程序开发的。SpringBoot翻译⼀下就是Spring脚⼿架,什么是脚⼿架呢?如下图所示盖房⼦的这个架⼦就是脚⼿架,脚⼿架的作⽤是砌筑砖墙,浇筑混凝⼟、⽅便墙⾯抹灰,装饰和粉刷的。简单来说,就是使⽤脚⼿架可以更快速的盖房⼦。⽽SpringBoot就是Spring框架的脚⼿架,它就是为了快速开发Spring框架⽽诞⽣的。再来看个例子https。...原创 2022-07-18 19:56:43 · 1862 阅读 · 18 评论 -
javaEE进阶 - Spring 的 Bean 作用域 和 生命周期 - 细节狂魔
从前⾯的博客Spring更简单的读取和存储对象,我们可以看出Spring是⽤来读取和存储Bean,因此在Spring中Bean是最核⼼的操作资源,所以接下来我们深⼊学习⼀下Bean对象。本博文介绍了Bean的6种作⽤域单例作⽤域原型作⽤域(多例作⽤域)3、request请求作⽤域4、session回话作⽤域全局作⽤域HTTPWebSocket作⽤域httpshttpshttpshttpshttpshttps。...原创 2022-07-15 21:50:50 · 1056 阅读 · 14 评论 -
javaEE进阶 - Spring 更简单的读取和存储对象 - 细节狂魔
⽽现在我们只需要⼀个注解就可以替代之前要写⼀⾏配置的尴尬了,不过在开始存储对象之前,我们先要来点准备⼯作。 准备工作,到此就结束!下面,我们就可以开始尝试:使用更简单的方式(使用注解) 来 存储/取出 bean。 2、通过 方法注解@Bean ,也可以将 一个 bean 存储到 Spring 中。 再思考一个问题:如果 根目录“beans”下面,还有子目录b。我们将 UserController 类 存放到 b 中,会不会被加载呢? 可能有些人的想法比较奇特:如果是使用的注解,那就原创 2022-07-14 14:50:04 · 1198 阅读 · 32 评论 -
javaEE进阶 - Spring 创建 和 使⽤ - 细节狂魔
本文主要讲解的重点: 注意!我们现在学习的是 Spring,不是 Spring Boot。Spring 是在 Spring Boot 之前的框架。因此,Spring 操作起来。没有像 Spring Boot 那么方便!难度,和 servlet 差不多。 如果你想要注入 多个 bean 对象,你就创建读个 bean 标签就行了。至于里面的 id 和 class 值,你们应该都会。 2、得到Spring上下文对象之后,再通过 上下文对象提供的方法,获取 我们自己需要使用原创 2022-07-09 17:09:24 · 1010 阅读 · 14 评论 -
JavaEE进阶 - Spring 核心 与 设计思想 - 细节狂魔
那问题来了,什么是容器?什么是 IoC 容器?接下来我们⼀起来看 一般情况下,我们在 A 类 中,想去调用 B 类中的方法,是怎么做的?是不是 要去new B 类对象,通过 对象 去调用 B类中的方法。当前 B 的控制权,是我们手上的。而 控制反转,就是将我们手上的权限,交由 “其他人” 来操作这个类。这个“其他人”,就是 Spring 框架。此时,我们想要 A 类中调用 B 的时候, 告诉 框架,我要在 A 中 调用 B 了。至于 B 的生命周期,和我们没有任何关系。这是控制反转。原创 2022-07-06 19:32:43 · 1055 阅读 · 20 评论 -
JAVAEE进阶 -初识框架 - 细节狂魔
另外,学习 Spring的一个重要原因。 2、 框架更加易⽤、简单且⾼效。不要害怕,Spring的学习 比 servlet 要简单!越高级的框架,它使用起来越简单。servlet 的学习,只是帮助你打好基础。帮助你更好的(理解 / 学习 ) Spring的代码。 使⽤ SpringBoot 和 Servlet 对⽐,演示⼀个⽤户添加的案例,展示以上优点。 Servlet 痛点分析 细心的朋友,就掏出他的宝贝(抓包工具 fiddler)来对 发送的请求 和 返回的响应 进行 抓包。 再原创 2022-07-04 23:05:05 · 1074 阅读 · 35 评论