java

javaweb实现文件上传功能

2022-06-21
本文实例为大家分享了javaweb实现文件上传的具体代码,供大家参考,具体内容如下 1.创建一个空项目 2.新建一个web application 的Module 3.创建一个lib目录导入需要用的jar包 commons-io commons-fileupload 4.将lib包添加到项目依赖(右键 Add as Library) 5.编写文件上传表单 <%--通过表单上传文件     get : 上传文件大小有限制     post : 上传文件大小没有限制     上传文件必须要encty

Mybatis中的常用OGNL表达式

2022-06-21
目录 Mybatis常用的OGNL表达式如下 Mybatis jstl表达式 在Mybatis的动态SQL和${}形式的参数中都用到了OGNL表达式. Mybatis常用的OGNL表达式如下 1.e1 or e2:或 <if test="userEmail != null or userEmail == '1'"> </if> 2.e1 and e2:且 <if test="userEmail != null and userEmail != '

Java双向链表的操作

2022-06-21
目录 前言 一.认识双向链表 二.双向链表的增删改查 1.插入 头插 尾插 在index位置插入 2.修改 3.查询 4.删除 删除index位置的节点 头删 尾删 删除第一个值为val的节点 删除所有值为val的值 总结 前言 我们之前学的单链表,默认只能从链表的头部遍历到链表的尾部,在实际中应用太少见,太局限:而双向链表,对于该链表中的任意节点,既可以通过该节点向前遍历,也可以通过该节点向后遍历,双向链表在实际工程中应用非常广泛,是使用链表这个结构的首选. 一.认识双向链表 单向链表不仅保存

Java实现图片文件上传

2022-06-21
Java实现后台图片上传,将上传图片的接口进行分层,便于维护接口. 接口部分(interface) 将接口分为单图片上传以及多图片上传 public interface FileUploadService {     //单图片上传     PicUploadResult uplodadImg(MultipartFile uploadFile, HttpServletRequest request);     //多图片上传     PicUploadResult uploadManyImg(M

springboot整合xxl-job的示例代码

2022-06-21
目录 关于xxl-job 调度中心 执行器 关于xxl-job 在我看来,总体可以分为三大块: 调度中心 执行器 配置定时任务 调度中心 简单来讲就是 xxl-job-admin那个模块,配置: 从doc里面取出xxl-job.sql的脚本文件,创建对应的数据库. 进行配置文件的配置,如下图 进行日志存放位置的修改 然后idea打包之后就能当作调度中心运行了 访问地址:ip:port/xxl-job-admin 默认的账号密码:admin/123456 注意:你进去后修改密码,有些浏览器就算你账

Java应用打包成Docker镜像

2022-06-21
目录 怎么把Java应用打包成Docker镜像? Maven插件构建镜像 用Docker的多阶段构建打包镜像 怎么把Java应用打包成Docker镜像? 对熟悉Docker的同学这应该是一个很简单的问题,把项目打包成JAR包然后在Dockerfile里用ADD命令把JAR文件放到镜像里,启动命令设置执行这个JAR文件即可. 比如一个使用Maven构建的Spring应用就可以用下面这个Dockerfile构建镜像. FROM openjdk:8-jre ADD target/*.jar /appl

SpringBoot统一接口返回及全局异常处理高级用法

2022-06-21
前言 现在大多数公司项目框架,基本都是属于前后端分离模式,这种模式会涉及到一个前后端对接问题,无论是对前端或者是后台服务,维护一套完善且规范的接口是非常有必要的,这样不仅能够提高对接效率,也可以让我的代码看起来更加简洁优雅. 修改前后最大的区别是我们不用在每个接口单独捕获异常,也不用在每个接口都要组装一遍返回参数,可以参考下面这张对比图: 一.SpringBoot不使用统一返回格式 默认情况下,SpringBoot会有如下三种返回情况. 1.1 使用字符串返回 @GetMapping("/get

使用spring jpa 如何给外键赋值

2022-06-21
目录 spring jpa 给外键赋值 jpa外键关系映射(终极理解) OneToOne 双向OneToOne 单向OneToMany OneToMany和ManyToOne双向 ManyToMany spring jpa 给外键赋值 最近在用spring data jap 的时候遇到一个问题,就是无法给一张表的外键赋予值,在A实体类中有一个属性的是另一个实体类B 如图 @JoinColumn的name指的是数据库表中的外键字段uid 这个外键在数据库中是vachar型的,但是在我的程序里却是一

Mybatis如何传入多个参数(实体类型和基本类型)

2022-06-21
目录 Mybatis传入多个参数 1.ProjectController类 2.ProjectAndUserService接口 3.ProjectAndUserServiceImpl实现类 4.ProjectAndUserMapper接口 5.ProjectAndUserMapper.xml Mybatis传入多个参数时,如何处理 方式一 方式二 方式三 Mybatis传入多个参数 1.ProjectController类 Integer oldUserId = getUserIdByUserN

Java服务器处理图片上传的方法

2022-06-21
本文实例为大家分享了Java服务器处理图片上传的具体代码,供大家参考,具体内容如下 一.简述 第一:浏览器上传图片实现: 第二:微信小程序上传图片实现: 二.图片上传功能实现 1.处理H5的单文件上传实现: package cn.ncist.tms.attachment.controller;   import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.H

java&nbsp;JVM方法分派模型静态分派动态分派全面讲解

2022-06-21
前言 了解 行为方法分派 有利于在行为分派时时进行一些功能操作 本文全面讲解行为分派的类型:静态 & 动态行为分派,希望你们会喜欢. 目录 1. 知识储备 1.1 分派 定义:确定执行哪个方法 的过程 a. 疑问 有些读者会问,方法的执行不是取决于代码设置中的执行对象吗?为什么还要选择呢? b. 回答 若 一个对象对应于多个方法 时,就需要进行选择了 读者应该都想到了 Java中的特性:多态,即重写 & 重载.下面我会详细讲解. 分类:静态分派 & 动态分派.下面我将详细讲解. 1

Springboot详解RocketMQ实现广播消息流程

2022-06-21
RocketMQ消息模式主要有两种:广播模式.集群模式(负载均衡模式) 广播模式是每个消费者,都会消费消息: 负载均衡模式是每一个消费只会被某一个消费者消费一次: 我们业务上一般用的是负载均衡模式,当然一些特殊场景需要用到广播模式,比如发送一个信息到邮箱,手机,站内提示: 我们可以通过@RocketMQMessageListener的messageModel属性值来设置,MessageModel.BROADCASTING是广播模式,MessageModel.CLUSTERING是默认集群负载均衡

javaweb实现简易邮件发送

2022-06-21
本文实例为大家分享了javaweb实现简易邮件发送的具体代码,供大家参考,具体内容如下 1.邮件发送 2.jar包的支持 activation-1.1.1.jar mail-1.4.7.jar 3.授权码的获取 4.简易文本邮件发送的实现 由上图我们可以确定几个必须步骤 1.创建session对象 2.创建Transport对象 3.使用邮箱的用户名和授权码连上邮件服务器 4.创建一个Message对象(需要传递session) message需要指明发件人.收件人以及文件内容 5.发送邮件 6

Java&nbsp;JDK内置常用接口和深浅拷贝

2022-06-21
目录 前言 一.comparable接口 二.Cloneable接口 三.深浅拷贝 1.浅拷贝 2.深拷贝 前言 在Java中,我们使用接口优先原则,当一个场景可以使用抽象类也可以使用接口定义时,优先考虑使用接口,因为接口更灵活,使用抽象类必须满足is a 的继承树关系,而且是单继承,接口相比于抽象类更加的灵活,本篇我们就一起看看JDK中的常用内置接口. 一.comparable接口 java.lang.Comperable: 当一个类实现了Comperable接口,就表示该类具备了可比较的能力

Spring超详细讲解BeanUtils改造

2022-06-21
目录 1.基本原理 2.使用 3.性能 4.提醒 1.基本原理 原理:https://www.jb51.net/article/252384.htm 浅拷贝:https://www.jb51.net/article/221283.htm BeanUtils.copyProperties();确实为我们做了很多事情,虽然不能完美完成深拷贝,但是对于 po.vo.dto 的拷贝已经足够用了.但是其还是有一些不够完美的地方. 不足几点如下: 不能拷贝 list,而拷贝 list 的情况又大量存在,因此

关于同一个service调用service本身的方法

2022-06-21
目录 同一个service调用service本身 解决方案 service的两种调用方法 一.startService开启服务 二.bindService绑定服务 三.两种方法的区别 同一个service调用service本身 如果同一个service调用service本身的方法,出现了事务不能控制. 解决方案 1.在spring配置文件中配置 <!-- expose-proxy service调用aop实现自身调用自身方法-->     <aop:aspectj-autoproxy p

如何重写hashcode和equals方法

2022-06-21
目录 如何重写hashcode和equals方法 Object源码理解 需要重写equals()的场景 需要重写hashcode()的场景 原理分析 补充HashMap知识 hashcode方法文档说明 重写hashCode和equals方法的一些思考 还可以通过一个例子理解 如何重写hashcode和equals方法 我们都知道,要比较两个对象是否相等时需要调用对象的equals()方法,即判断对象引用所指向的对象地址是否相等,对象地址相等时,那么与对象相关的对象句柄.对象头.对象实例数据.对

SpringBoot中对应2.0.x版本的Redis配置详解

2022-06-21
properties格式: # REDIS (RedisProperties) # Redis数据库索引(默认为0) spring.redis.database=0 # Redis服务器地址 spring.redis.host=localhost # Redis服务器连接端口 spring.redis.port=6379 # Redis服务器连接密码(默认为空) spring.redis.password= # 连接池最大连接数(使用负值表示没有限制) spring.redis.jedis.po

Spring&nbsp;Boot结合ECharts案例演示示例

2022-06-21
目录 一.提出任务 二.完成任务 (一)创建数据库与表 (二)创建Spring Boot项目 (三)创建班级实体类 (四)创建班级映射器接口 (五)创建班级映射器配置文件 (六)创建班级服务类 (七)创建班级控制器 (八)添加ECharts和jQuery脚本 (九)添加Druid起步依赖 (十)修改应用属性文件 (十一)创建页面可视化数据 (十二)启动应用,查看结果 一.提出任务 后端利用Spring Boot查询班级表数据,前端利用ECharts绘制各班人数柱形图. (一)班级数据 编号 班级

Mybatis中${param}与#{param}的区别说明

2022-06-21
目录 ${param}与#{param}的区别 Mybatis中#{}与${}使用总结 #{ }与${ }的区别 使用总结 ${param}与#{param}的区别 ${param}表达式主要用户获取配置文件数据,DAO接口中的参数信息,当 $ 出现在映射文件的 SQl 语句中时创建的不是预编译的 SQL ,而是字符串的拼接有可能会导致 SQL 注入的问题,所以一般使用 $ 接收 DAO 参数时,这些参数一般是字段名,表名等.例如 order by {column} #{param} 表达式主要