java

使用自定义注解进行restful请求参数的校验方式

目录 自定义注解进行restful请求参数的校验 1、首先我们使用@interface定义一个注解 2、实现注解实现类(和@interface定义的注解在同一个包下) 3、在需要校验的对象的字段上加上@ByteLength注...

关于Java中String类字符串的解析

目录 一、前言 二、String类概述 三、字符串的特点 四、String 构造方法 五、String类对象的特点 六、比较字符串的方法 七、判断两个字符串地址是否相等 一、前言 在 java 中,和C语言一...

springboot 传参校验@Valid及对其的异常捕获方式

目录 传参校验@Valid及对其的异常捕获 @Valid校验异常捕捉 传参校验@Valid及对其的异常捕获 springboot参数经常需要进行校验,比如创建文件,文件名就需要进行一定的校验。 本文以创建文...

SpringBoot配置 Druid 三种方式(包括纯配置文件配置

记录一下在项目中用纯 YML(application.yml 或者 application.properties)文件、Java 代码配置 Bean 和注解三种方式配置 Alibaba Druid 用于监控或者查看 SQL 状况: 1. 纯配置文件 .yml 或者 .properties...

使用@Validated 和 BindingResult 遇到的坑及解决

@Validated和BindingResult 使用遇到的坑 @Validated 与BindingResult 需要相邻,否则 变量result 不能接受错误信息 控制台输出 Field error in object 'entity' on field '变量': rejected value [null]; codes [NotNull.en...

java实现文件上传和下载

本文实例为大家分享了java实现文件上传和下载的具体代码,供大家参考,具体内容如下 文件的上传 upload:文件上传 客户端通过表单的文件域file 把客户端的文件 上传保存到服务器的硬...

解决@Validated注解无效,嵌套对象属性的@NotBlank无效

目录 @Validated注解无效,嵌套对象属性的@NotBlank无效 步骤 内层对象无法验证 @Validated注解不生效问题、如何使用 1、需要引入的包 2、将@Validated打在controller中需要验证的实体类前面 3、在...

JavaWeb中Servlet的深入理解

1.servlet:定义: 接口 2.配置servlet: public class HelloServlet extends HttpServlet {} HttpServlet 固定的 IDEA配置v好了 类 package com.example.demo1;import java.io.*;import javax.servlet.http.*;import javax.servlet.annotation.*;...

@Valid 无法校验List<E>的问题

目录 @Valid 无法校验ListE 原因 方法 @validated 验证List 反面例子 解决方法 @Valid 无法校验ListE 原因 @Valid只能校验JavaBean,而ListE不是JavaBean所以校验会失败,尝试了三种解决办法,比较推荐...

自定义feignClient的常见坑及解决

目录 自定义feignClient的常见坑 一、从eureka上拉取相关服务的配置信息 二、feignClient 发送请求到目标服务器 三、一些坑 四 、以下是现有全部的代码粘贴出来看一下 feignClient的使用 服务...

深入理解springboot中配置文件application.properties

目录 前言 正文 自定义属性 参数间引用 使用自定义配置文件 随机值配置 外部配置-命令行参数配置 配置文件的优先级 Profile-多环境配置 总结 前言 Spring Boot使用“习惯优于配置”(项...

Spring启动过程源码分析及简介

目录 1、BeanDefinition 2、beanFactory 3、BeanDefinitionReader 4、ClassPathBeanDefinitionScanner 5、ConditionEvaluator 6、Aware 本文是通过AnnotationConfigApplicationContext读取配置类来一步一步去了解Spring的启动过程...

关于Kill指令停掉Java程序的问题

目录 1. Java的原生关闭钩子 1.1 使用IDE关闭调试 1.2 使用kill -15 指令 1.3 使用kill -9 指令 2. SpringBoot关闭钩子 2.1 使用IDE关闭 2.2 使用kill -15 指令 2.3 使用kill -9 指令 今天同事问我,一个jar包...

Springboot整合Redis实现超卖问题还原和流程分析(分

目录 超卖简单代码 超卖问题 单服务器单应用情况下 设置synchronized Redis实现分布式锁 通过超时间解决上述问题 通过key设置值匹配的方式解决形同虚设问题 最终版 超卖简单代码 写一段...

基于@RequestParam与@RequestBody使用对比

目录 @RequestParam与@RequestBody对比 @RequestParam @RequestBody @requestBody 与@requestparam;@requestBody的加与不加的区别 一、首先说明@requestBody与@requestParam的区别 二、Content-Type 三、问题,@requestBody到...

java中的GC收集器详情

目录 1、GC(Garbage collection ) 2、GC算法 2.1标记活动对象 2.2 删除空闲对象 2.3 标记清除(Mark-Sweep) 2.4 清除压缩(Mark-Sweep-Compact) 2.5 标记和复制 3、JVM GC 3.1 JVM GC事件 3.2 Serial GC 3.3 Par...

springboot @RequestBody 接收字符串实例

目录 springboot @RequestBody 接收字符串 @RequestBody 接收字符串 向接口传送 application/json 格式的数据 向接口传送 text/plain 格式的数据 替代 @RequestBody 的办法 @RequestBody接收前端传来的json值为空...

解决@RequestBody搭配@Data的大坑

@RequestBody搭配@Data的坑 如果用@Data修饰实体类,里面的属性最好不要用连续几个相同字母,如果用千万别用大写。 比如下面这个User类 @Datapublic class User{ private Integer userId; private String t...

@Validated和@Valid三种异常捕获处理方式

目录 @Validated和@Valid异常捕获 异常共三种 @Valid和@Validated区别 注解位置 @Validated和@Valid异常捕获 异常共三种 BindException :表单提交有效,对于以json格式提交将会失效 MethodArgumentNotValid...

Java 后端开发中Tomcat服务器运行不了的五种解决方

目录 方法一 方法二 方法三 方法四 方法五 方法一 查看Servers项目是否被关闭或者被删除,Servers是tomcat部署环境的配置项目,我们自己的项目能不能部署在Tomcat服务器上,Servers至关重要...

快速校验实体类时,@Valid,@Validated,@NotNull注解无效

目录 校验实体类参数内容不能为空时使用注解校验无效 使用@valid注解首先引入依赖 1、更换方法入参类型 2、错误内容过多 3、使用对象接收错误内容,按自己要求输出 springboot 校验机...

使用Springboot整合GridFS实现文件操作

目录 GridFsOperations,实现GridFS文件上传下载删除 上传下载删除功能实现 测试 上传 下载 删除 GridFsOperations,实现GridFS文件上传下载删除 最近学习GridFS,想用它整合springboot弄个文件的上...

SpringBoot 如何使用RestTemplate来调用接口

目录 使用RestTemplate来调用接口 1.新建一个配置类,配置RestTemplate的Bean 2.多种传输和接收参数的方式 2.1postForObject方法 postForEntity 2.2getForObject方法 2.3getForEntity方法 RestTemplate调用接口总结...

使用BindingResult 自定义错误信息

目录 BindingResult 自定义错误信息 前提概要 基础框架 配置文件和Java代码的修改 在Controller方法中指定需要进行校验 进行自定义校验 在JSP页面上显示校验错误信息 BindingResult错误返回显示...

Java构造方法 super 及自定义异常throw合集详解用法

1.构造方法: public 类名(){} 区别一下 // public void 方法名(){} 分为有参,无参子类构造方法 public class Zi extends fu{ public int message=35;public Zi(){ System.out.println("我是谁");}} 创建对象时:就会...

如何在SpringBoot+Freemarker中获取项目根目录

目录 在Freemarker中获取项目根目录 在Freemark模板引擎路径的几种设置方法 在SpringMVC中我们想返回视图是怎么做的 在SpringBoot中springboot不推荐我们使用jsp模板 那么如果我们如何自定义fr...

Java常用API类之Math System tostring用法详解

1.注意(类名不能与math重名,否则可能报错误) 1.math:可以直接拿来用的接口类 Math.abs(-90);返回参数的绝对值 Math.max(60,98)返回参数的最大值 Math.random()*100随机函数:随机输出一个数 等等...

Java 面向对象之继承篇详解原理与特点

目录 一、前言 二、继承 什么是继承呢? 继承的好处与弊端 继承的使用场景? 继承的格式: 继承的特点: 重写的概念: super关键字 super和this的比较 一、前言 前面我也们讲述了相关...

使用springboot的jar包能够以service方式启动

目录 springboot jar包以service启动 场景 过程 其他 SpringBoot启动服务的三种方式 1.IDEA启动 2.命令行启动 3.命令行编译为jar启动 springboot jar包以service启动 场景 打出的jar包用java -jar肯定是可以...

java基于jdbc实现简单学生管理系统

目录 工具类 工程目录: 运行截图: 这个是java连接mysql数据库的一个简单学生系统,通过jdbc连接数据库。 工具类 JDBCuntils. package Student;import java.io.IOException;import java.sql.*;import java.util...

解决springboot jpa @Column columnDefinition等属性失效问

目录 jpa @Column columnDefinition属性失效 原因 例如 jpa column注解 知识点 precision和scale疑点 小结一下 jpa @Column columnDefinition属性失效 删除一条属性,默认false #spring.jpa.properties.hibernate.globall...

Java中关于 null 的几种处理方式详解

对于 Java 程序员来说,空指针直是恼的问题,我们在开发中经常会受到 NullPointerException 的异常。Java 的发明者也承认这是个巨的设计错误。那么关于 null ,你应该知道下这件事情来有效...

阿里四面之Spring Exception的原理解析

错误场景 验证请求的Token合法性的Filter。Token校验失败时,直接抛自定义异常,移交给Spring处理: 测试HTTP请求: 日志输出如下:说明 IllegalRequestExceptionHandler 未生效。 why?这就需要精...

iReport简单使用方法图文教程

iReport是一个能够创建复杂报表的开源项目,它100%使用Java语言编写,是目前全球最为流行的开源报表设计器,由于它丰富的图形界面,你能够很快的创建出任何一种你想要的报表。 iR...

解决springboot 实体类String转Date类型的坑

目录 springboot 实体类String转Date类型 Date解析String类型的参数 springboot 实体类String转Date类型 前端传入一个String的时间字符串如:2019-07-18 23:59:59 后端实体类要在头顶加注解: @DateTimeForm...

@RequestParam 参数偶尔丢失的解决

目录 @RequestParam参数丢失 @RequestParam的用法注意事项 作用 @RequestParam属性 注意 @RequestParam参数丢失 改动过一版代码之后, 发现@RequestParam注解的参数经常丢失. 首先确认前端确实把参数传过...

Java程序结构与常量变量难点解析

目录 前言 一、java程序结构 二、java程序的运行 1.运行过程 2.JVM是什么? 三、常量与变量 1. 计算机工作原理 2.变量和类型 3.变量的命名规则 4.变量的作用范围 总结 前言 新征程,进入...

解析iReport自定义行数分页的操作方法

iReport 是为JasperReports Library和JasperReports Server设计的报表可视化设计器。iReport是一个能够创建复杂报表的开源项目。它100%使用Java语言编写。是目前全球最为流行的开源报表设计器。 i...

非常全面的IReport的使用教程

目录 简介 安装环境 版本 注意事项 百度云下载地址 基本操作 新建 页面布局 style样式 中文支持必备 比较常用的属性 基础控件 Break:分页符 Ellipse、Round Rectangle、Line、Rectangle:图形...

Java 多态中继承的转型详解与用法分析

目录 一、前言 二、转型 向上转型 向下转型 三、instanceof运算符 instanceof的用处 instanceof的使用格式: 一、前言 前面我们学习了多态的概述和使用,现在我们来学习前面剩下的转型问题...

Java jvm垃圾回收详解

目录 常见面试题 1.JVM内存回收和分配 1.1主要的区域? gc测试 1.2大对象进入老年代 1.3长期存活的对象进入老年代 1.4主要进行gc的区域 gc的类型 Young Gc Full Gc 1.5空间分配担保? 2.对象已经...

Java策略模式取代if else

别再大量的if else了, 代码太简陋了, 可读性太差了. 策略模式的定义 .... 简单来说 每个模块相互独立 互不影响 提高代码的可扩展性 ! 举栗子, 如下烂代码 if ("花呗支付".equals(type)) { // 花...

一篇文章带你搞懂Java restful 接口开发

目录 1、RESTful 简介 a资源 b资源的表述 c状态转移 2、RESTful 的实现 3、HiddenHttpMethodFilter 4、RESTful 案例 4.1、需求 4.2、git 代码位置 4.3、UserController 4.4、添加 HiddenHttpMethodFilter 4.5、测试效果...

详解Java CompletableFuture使用方法以及与FutureTask的区

目录 futureTask 创建异步任务 创建任务 1. .supplyAsync 2. .runAsync 异步回调 1. .thenApply 2. .thenAccept 3. .exceptionally 4. .whenComplete 组合处理 总的来说简洁了FutureTask与线程池的配合使用 没啥太大区...

Java ArrayList中存放引用数据类型的方式

目录 ArrayList中存放引用数据类型 看下面一个例子 Java 引用数据类型 ArrayList集合 引用数据类型(类) ArrayList 集合 ArrayList中存放引用数据类型 ArrayList中存放引用类型时,存放的是一个...

java 引用类型的数据传递的是内存地址实例

目录 java 引用类型的数据传递的是内存地址 看下面的代码和截图 list集合存引用数据类型时的问题 集合list的存储元素 java 引用类型的数据传递的是内存地址 java中引用类型的数据,传递...

Java Spring Security认证与授权及注销和权限控制篇综

Spring Security简介: Spring Security 是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型,它可以实现强大的Web安全控制,对于安全控制,我们只需要引入 spring-boot-star...

java高并发的volatile与Java内存模型详解

public class Demo09 { public static boolean flag = true; public static class T1 extends Thread { public T1(String name) { super(name); } @Override public void run() { System.out.println("线程" + this.getName() + " in"); while (flag) { ; }...

java高并发的线程中断的几种方式详解

目录 通过一个变量控制线程中断 通过线程自带的中断标志控制 线程阻塞状态中如何中断? 总结 通过一个变量控制线程中断 代码: package com.itsoku.chat05;import java.util.concurrent.TimeUnit;/*...

java高并发的ReentrantLock重入锁

目录 synchronized的局限性 ReentrantLock ReentrantLock基本使用 ReentrantLock是可重入锁 ReentrantLock实现公平锁 ReentrantLock获取锁的过程是可中断的 tryLock无参方法 tryLock有参方法 ReentrantLock其他常用...