Java中的synchronized关键字用于在多线程环境下确保数据同步。它可以用来修饰方法和代码块 当一个线程访问一个对象的synchronized方法或代码块时,其他线程将无法访问该对象的其他synchronized方法或代码块。这...
java
JAVA 给PDF添加水印
接上一篇,利用ureport生成了PDF文件,现在给PDF加上水印或者在某一位置加上图片 废话不多说,直接上代码 1.定位 WatermarkPosition.java package org.springboot.demo.util; public enum Watermar...
Springboot 集成 Ureport2 导出Excel报表、生成PDF文件
1.ureport 介绍: UReport2是一款高性能的架构在Spring之上纯Java报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。 在UReport2中,提供了全新的基于网页的报表设计器,可以在Chrome、Fir...
阻止表单重复提交拦截器,springmvc、springboot及springboot前后端分离系统的处理方式
springmvc版 package com.jeeplus.modules.sys.interceptor; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; import com.jeeplus.common....
Springboot中为什么需要采用Service+ServiceImpl的结构
为解决移植性问题而产生的套路 2005年以前的大多数项目都是直接在业务处理层的Service类中嵌入JDBC代码,这就使得这个Service类与数据库紧藕合,在换一种数据库的情况下,就要修改Service类中的sql。 根据软件设...
分布式锁的3种实现!附代码
分布式锁是一种用于保证分布式系统中多个进程或线程同步访问共享资源的技术。同时它又是面试中的常见问题,所以我们本文就重点来看分布式锁的具体实现(含实现代码)。 在分布式系统中,由于各个节点之间的网...
SpringBoot拦截器和动态代理有什么区别
在 Spring Boot 中,拦截器和动态代理都是用来实现功能增强的,所以在很多时候,有人会认为拦截器的底层是通过动态代理实现的,所以本文就来盘点一下他们两的区别,以及拦截器的底层实现。 1.拦截器 拦截器(...
Java:PO、VO、BO、DO、DAO、DTO、POJO
Java:PO、VO、BO、DO、DAO、DTO、POJO PO持久化对象(Persistent Object) PO是持久化对象,用于表示数据库中的实体或表的映射 通常与数据库表的结构和字段对应 PO的属性对应数据库表的字段,可以进行持久...
加密算法—BCryptPasswordEncoder的使用及原理
BCryptPasswordEncoder的使用及原理 一 介绍 二 案例使用 2.1 添加依赖 2.2 PasswordConfig 2.3 application.yml 2.4 单元测试 2.5 结果 三 优秀博客 一 介绍 spring security中的BCryptPasswordEncode...
【java】对ArrayList中的元素进行排序的几种方式
对ArrayList中的元素进行排序的几种方式 一、使用Collections工具类 1、对基本类型排序 通过Collections.sort()对基本类型排序默认是以升序排序 // 1.Collections.sort()默认按照升序排序 List integerLis...