目录 自定义RequestMappingInfo 通过接口的形式发现类 在很多其他框架中,比如Python的Flask、node.js的KOA,Controller要想能够响应前端的请求都需要我们主动去注册到应用程序上。而Spring不需要...
java
SpringBoot全局异常处理方式
目录 SpringBoot全局异常处理 springboot全局异常处理——@ControllerAdvice+ExceptionHandler 一、全局捕获异常后,返回json给浏览器 二、全局捕获异常后,返回页面给浏览器 SpringBoot全局异常处理...
springboot聚合工程的部署与深入讲解
目录 1.什么是聚合工程 2.聚合工程优势 3.创建聚合工程 4.父工程详解 1.pom文件 5.ruoyi-modules子工程配置 1.pom文件 总结 1.什么是聚合工程 如下图所示,拥有父子包结构的springboot工程叫做聚...
用Java8 stream处理数据
目录 1、stream处理数据介绍 2、Stream起步 3、Stream与Collection比较 1、stream处理数据介绍 如果没有集合 Collection 你如何处理数据?几乎所有的 Java 应用程序都要使用 Collection 处理数据。他们...
Java面试题之HashMap 的 hash 方法原理是什么
Warning:这是《Java 程序员进阶之路》专栏的第 55 篇。 回来后小二找到了我,于是我就写下了这篇文章丢给他,并严厉地告诉他:再搞不懂就别来找我。听到这句话,心头一阵酸,小二...
@PathVariable和@RequestParam传参为空问题及解决
目录 @PathVariable和@RequestParam传参为空 小结一下 使用@pathvariable与@requestparam碰到的问题 1.@pathvariable 2.@requestparam @PathVariable和@RequestParam传参为空 @RestControllerpublic class UserController { @GetMapp...
@RequestParam 接收参数的值为null的处理方式
目录 @RequestParam 接收参数的值为null 对于@RequestParam的一些小疑问 问题一 问题二 @RequestParam 接收参数的值为null @RequestMapping(value = "/test") public String test( @RequestParam(value = "profit",required =...
Java正确使用访问修饰符的姿势
目录 1、简介 2、访问修饰符 3、原则 总结 1、简介 访问修饰符是Java语法中很基础的一部分,但是能正确的使用Java访问修饰符的程序员只在少数。在Java组件开发中,如果能够恰到好处的...
调用java.lang.Runtime.exec的正确姿势分享
目录 调用java.lang.Runtime.exec的正确姿势 两种方法 小结一下 Java Runtime.exec()注意事项 1.Runtime.exec() 有四种调用方法 2.得到程序执行返回值, 0为success 3.得到程序执行的结果或错误信息 4.Ru...
Spring为什么不推荐使用@Autowired注解详析
目录 引言 Spring的三种注入方式 属性(filed)注入 构造器注入 set方法注入 属性注入可能出现的问题 问题一 问题二 问题三 spring建议 使用@Resource代替@Autowired 使用@RequiredArgsConstructor构造...
Java中的单例模式详解(完整篇)
目录 前言 WHAT WHY 饿汉式 实现一:静态实例参数与静态代码块 实现二:静态内部类 懒汉式 错误一:单线程实现 错误二:同步方法 错误三:同步代码块之单次检查 错误四:同步代码块...
springboot集成测试容器重启问题的处理
目录 背景 测试用例的运行流程 结论 背景 spring boot test的项目中常用的测试框架, 最近在写集成测试的时候发现一个比较奇怪的问题,当我在运行多个测试用例的时候会偶尔重新启动整...
Java8中Optional类的使用说明
目录 简介 历史 null带来的种种问题 方案 场景引入 方法说明 构造函数 创建Optional对象 使用map从Optional对象中提取和转换值 使用flatMap链接Optional对象 默认行为及解引用Optional对象1 默认...
SpringBoot 使用@WebMvcTest测试MVC Web Controller
目录 依赖 Web 控制器的职责 单元测试还是集成测试? 使用 @WebMvcTest 验证控制器职责 @ExtendWith 使用带或不带 controllers 参数的 @WebMvcTest? 1.验证 HTTP 请求匹配 2.验证输入序列化 3.验证输...
关于Java虚拟机HotSpot
我们写的主类中的 main() 方法是如何被 Java 虚拟机调用到的?在 Java 类中的一些方法会被由 C/C++ 编写的 HotSpot 虚拟机的C/C++函数调用,不过由于Java方法与C/C++函数的调用约定不同,所以...
Java中List常用操作比for循环更优雅的写法示例
目录 引言 简单遍历 筛选符合某属性条件的List集合 获取某属性返回新的List集合 获取以某属性为key,其他属性或者对应对象为value的Map集合 以某个属性进行分组的Map集合 其他情况 总结...
Spark SerializedLambda错误的两种解决方案
目录 Spark SerializedLambda错误 解决方案(一) 解决方案(二) 执行spark报错EOFException Kryo和SerializedLambda EOFException Kryo问题的解决 cannot assign instance SerializedLambda 报错问题的解决 Spark SerializedLam...
Java虚拟机调用Java主类的main()方法
目录 鸠摩 在前一篇 第1篇关于Java虚拟机HotSpot,开篇说的简单些 中介绍了 call_static() 、 call_virtual() 等函数的作用,这些函数会调用 JavaCalls::call() 函数。我们看 Java 类中 main() 方法的调...
Java 实战项目之疫情防控管理系统详解
目录 基于java疫情防控管理系统 1、登录模块(注册) 2、今日疫情模块 3、防疫管理模块 4、系统管理模块 5、用户模块 基于java疫情防控管理系统 项目介绍:通过对依社区为单位进行人群...
Spring MVC传递接收参数方式小结
目录 一、通过实体Bean接收请求参数 二、通过处理方法的形参接收请求参数 三、通过HttpServletRequest接收请求参数 四、通过@PathVariable接收URL中的请求参数 五、通过@RequestParam接收请求参...
Java 初识CRM之项目思路解析
CRM项目 一、登录模块全程思路分析 登录模块: 1、对用户名和密码的校验,并存储在cookie中,方便后期的免登录操作。 2、对用户基本信息的修改,通过获取表单用户修改的数据,进行...
Java String.format()的用法
String.format()字符串常规类型格式化的两种重载方式 format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。 format(Locale locale, String for...
springboot启动类如何剔除扫描某个包
启动类剔除扫描某个包 排除api中不引数据库导致的报错包 @ComponentScan(excludeFilters = { @ComponentScan.Filter(type = FilterType.REGEX,pattern = "com.integration.aop.log.service.*") }) 通过该注解配置,可以实现...
Java中ConcurrentHashMap是如何实现线程安全
目录 语法: ConcurrentHashmap 的需要: 如何使 ConcurrentHashMap 线程安全成为可能? Hashtable、Hashmap、ConcurrentHashmap的区别 ConcurrentHashMap是一个哈希表,支持检索的全并发和更新的高预期并发...
Java中的abstract和interface
目录 1、简介 2、准则 2.1 接口优先于抽象类 2.2 接口中不应该实现方法 2.3 接口不应该用于导出常量 1、简介 abstract 和 interface 关键字在 Java 中随处可见,它是Java三大特性封装、继承、多...
springboot @Controller和@RestController的区别及应用详解
目录 @Controller和@RestController的区别及应用 @Controller和@RestController区别 @Controller的应用 @RestController的应用 @Controller和@RestController区别的小坑 1.如果注解Controller使用@RestController 2.如果需要...
并发编程之Java内存模型
目录 一、Java内存模型的基础 1.1 并发编程模型的两个关键问题 1.2 Java内存模型的抽象结构 1.3 从源代码到指令重排序 1.4 写缓冲区和内存屏障 1.4.1 写缓冲区 1.4.2 内存屏障 1.5 happens-befo...
SpringBoot @SpringBootTest加速单元测试的小诀窍
目录 @SpringBootTest加速单元测试小诀窍 Pre classes webEnvironment @记录使用SpringBootTest遇到的坑 @SpringBootTest加速单元测试小诀窍 Pre SpringBoot - 应用程序测试方案 随着代码量的争夺,测试类的启...
Java使用递归回溯完美解决八皇后的问题
八皇后问题 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻...
SpringBoot 应用程序测试实现方案
目录 Pre Spring Boot 中的测试解决方案 测试 Spring Boot 应用程序 初始化测试环境 @SpringBootTest @SpringBootTest - webEnvironment @RunWith 注解与 SpringRunner 执行测试用例 使用 @DataJpaTest 注解测试数据访...
并发编程之Java内存模型顺序一致性
目录 1、数据竞争和顺序一致性 1.1 Java内存模型规范对数据竞争的定义 1.2 JMM对多线程程序的内存一致性做的保证 2、顺序一致性内存模型 2.1 特性 2.2 举例说明顺序一致性模型 2.3 同步程...
Java关键字之instanceof详解
目录 1、obj 必须为引用类型,不能是基本类型 2、obj 为 null 3、obj 为 class 类的实例对象 4、obj 为 class 接口的实现类 5、obj 为 class 类的直接或间接子类 6、问题 7、深究原理 8、instanceof...
深入解析SpringBatch适配器
目录 一、SpringBatch适配器 二、SpringBatch适配器实战(Tasklet举例) 一、SpringBatch适配器 1、SpringBatch分别有读(reader)、处理(processor)、写(writer)、tasklet处理器。 读适配器:ItemReaderAdapter 处理适...
并发编程之Java内存模型volatile的内存语义
1、volatile的特性 理解 volatile 特性的一个好办法是把对 volatile 变量的单个读/写,看成是使用同一个锁对单个读/写操作做了同步。 代码示例: package com.lizba.p1;/** * p * volatile示例 * /p *...
Java 实现完整功能的学生管理系统实例
目录 一、前言 二、学生管理系统主要功能 在学生类下 在学生总部类下: main方法: 登录密码验证: 打印菜单: 增加学生信息: 查看学生信息: 删除学生信息: 修改学生信息: 查找...
springboot打包如何忽略Test单元测试
springboot打包忽略Test单元测试 在maven pom.xml中加入配置: plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-surefire-plugin/artifactId version2.20.1/version configuration skipTeststrue/skipTests /configuration/p...
springboot2.5.6集成RabbitMq实现Topic主题模式(推荐)
1.application.yml server: port: 8184spring: application: name: rabbitmq-demo rabbitmq: host: 127.0.0.1 # ip地址 port: 5672 username: admin # 连接账号 password: 123456 # 连接密码 template: retry: enabled: true # 开启失败重试...
SpringBoot中启动时如何忽略某项检测
目录 SpringBoot启动忽略某项检测 可以在启动文件中填入 启动排除某些bean的注入 问题 SpringBoot启动忽略某项检测 在搭建springboot框架时,启动会检测某些连接是否正常,比如redis,rabbit...
springboot 项目使用jasypt加密数据源的方法
引入maven 坐标 dependency groupIdcom.github.ulisesbocchio/groupId artifactIdjasypt-spring-boot-starter/artifactId version3.0.4/version /dependency 配置密钥 #jasypt加密的盐值jasypt.encryptor.password=jsuuwjnf 生成加密字符串...
SpringBoot实现监控Actuator,关闭redis监测
目录 SpringBoot监控Actuator,关闭redis监测 方法 springboot Actuator 查看配置明细 运行时度量 SpringBoot监控Actuator,关闭redis监测 方法 当我们导入了spring-boot-starter-actuator这个依赖后, SpringBoot会默认...
并发编程之Java内存模型锁的内存语义
目录 1、锁的释放-获取建立的happens-before关系 2、锁释放和获取的内存语义 3、锁内存的语义实现 4、concurrent包的实现 简介: 锁的作用是让临界区互斥执行。本文阐述所得另一个重要知...
java实现LRU缓存淘汰算法的方法
LRU算法:最近最少使用淘汰算法(Least Recently Used)。LRU是淘汰最长时间没有被使用的缓存(即使该缓存被访问的次数最多)。 如何实现LRU缓存淘汰算法 场景: 我们现在有这么个真实场...
Java ThreadLocal的详细解释
目录 一、ThreadLocal简介 二、ThreadLocal简单使用 三、ThreadLocal的实现原理 1、set方法源码 2、get方法源码 3、remove方法的实现 4、如下图所示: 四、ThreadLocal不支持继承性 五、InheritableThre...
测试springboot项目出现Test Ignored的解决
目录 测试springboot项目出现Test Ignored 测试类不报错只提示Test ignored的解决 测试springboot项目出现Test Ignored 今天在写springBoot项目运行测试类时出现了以下问题: Test ignored. java.lang.Illegal...
Java内存模型final的内存语义
目录 1、final域的重排序规则final 2、写final域的重排序规则 3、读final与的重排序规则 4、final域为引用类型 5、为什么final引用不能从构造函数内“逸出” 6、final语义在处理器中的实现...
@SpringBootTest 注解报红问题及解决
目录 打注解@SpringBootTest的时候不会出现提示 SpringBoot模块中启动类的注解标红 打注解@SpringBootTest的时候不会出现提示 但是又导入了 dependency groupIdorg.springframework.boot/groupId artifactIdsprin...
Java十大经典排序算法图解
目录 0、算法概述 0.1 算法分类 0.2 算法复杂度 0.3 相关概念 1、冒泡排序(Bubble Sort) 1.1 算法描述 1.2 动图演示 1.3 代码实现 2、选择排序(Selection Sort) 2.1 算法描述 2.2 动图演示 2.3 代码...
利用Java实现mTLS调用
目录 本文将使用 Java作为客户端 与受 mTLS 保护的服务交互。 为了对我们的 Java 客户端进行 ssl 配置,我们需要先设置一个 SSLContext 。这简化了事情,因为 SSLContext 可用于各种 http 客户端...
图解Java排序算法之归并排序
目录 基本思想 合并相邻有序子序列 代码实现 总结 基本思想 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分...
Java 实战交易平台项目之宠物在线商城系统
该系统分为前台和后台,前台可以自主注册,后台管理员角色,除基础脚手架外,实现的功能有: 后台管理员功能有:商品分类管理、商品管理、套餐管理、新闻分类管理、新闻管理、...