java
发量堪忧小码农
这个作者很懒,什么都没留下…
展开
-
记录NumberFormat format方法会把数值,分割
NUmberFormat默认会把达到千位数值以,进行分割。 解决这种问题,只需要调用NumberFormat的**setGroupingUsed**传值为false即可。原创 2022-12-23 18:20:03 · 431 阅读 · 0 评论 -
转载【Mybatis】Mybatis SQL Interceptor Interceptor 拦截器打印完整的SQL语句
Mybatis SQL Interceptor Interceptor 拦截器打印完整的SQL语句转载 2022-06-06 18:16:09 · 704 阅读 · 0 评论 -
spring JavaMailSenderImpl 实现发送邮箱
使用,spring-context-support 中JavaMailSenderImpl 实现指定邮箱发送邮件.1.在resources创建mail.properties文件指定必要参数#服务器 //这个服务器是可以换的,需要根据发送人的邮箱进行更改,这里使用的是smtp网易的mailHost=smtp.qiye.163.com#端口号mailPort=994#邮箱账号mailUsername=zh****nq**g@****.cn#邮箱授权码mailPassword=D***55#时原创 2021-07-30 14:12:04 · 1073 阅读 · 0 评论 -
java pdf中插入图片
//读取指定路径pdf获取pdfReader PdfReader reader = new PdfReader(filePath); //得到新的生成pdf文件地址 String newFilePath = getNewFilePath(filePath); File newPdfFile = new File(newFilePath); fileOutputStream = new Fi...原创 2021-07-05 14:35:14 · 1059 阅读 · 3 评论 -
使用poi根据word模板生成word
需求:根据固定的word模板进行数据填充生成word具体代码: try { //获取文件操作对象 inputStream word模板的输入流 XWPFDocument document = new XWPFDocument(inputStream); //获取段落迭代器 Iterator<XWPFParagraph> itPara = document.getParagraphsIterator();原创 2021-06-29 15:27:13 · 245 阅读 · 0 评论 -
IDEA类编译通过引用找不到
场景:我是linux系统崩掉了,然后重新安装系统,安装了2020.1.1版本的IDEA Maven和jdk都配置好了,发现项目可以启动,但是IDEA工具显示的类都报错了,一开始一直以为是Maven配置有问题(Maven配置图),但是找了很多方法都没有结果,后来就怀疑IDEA有问题,就删除了IDEA包,又下载了一个版本的IDEA发现还是这个问题,因为点击jdk的String类IDEA也提示找不到,就又怀疑是jdk问题,就又重新下载了一个jdk重新配置无果,就又清除缓存如下:结果还是不行,又删除了项目原创 2021-05-27 17:11:13 · 627 阅读 · 0 评论 -
IDEA解决查看jdk源码总是.class文件问题
IDEA解决查看jdk源码总是.class文件问题如果想看jdk源码,Ctrl+鼠标左键 点击去是.class文件,那么可能出现的问题有以下几种。1.Maven没有自动下载jdk java zip解决:file->settings->Maven->Importing->找到Automatically download的 Sources Documentation 勾上然后找到Maven点击下载即可解决。2.如果以上操作没有用,那就要查看以下,你配置的jdk中资源路径原创 2021-05-06 11:01:52 · 1752 阅读 · 3 评论 -
List集合的区别
List集合的区别1.ArrayList:底层是基于数组实现的,如果不指定ArrayList的大小,ArrayList会创建一个容量为10的集合(在add一个元素的时候,这个容量才会真正意义的扩容),如果add超过当前ArrayList的容量,ArrayList会进行扩容(1.5倍),ArrayList因为底层是数组的形式,所以在随机访问元素的时候,效率较高。但是在删除和插入的时候效率偏低,ArrayList是线程不安全的。2.Vector:底层和ArrayList大同小异,我感觉最大的区别就是,Vec原创 2021-04-16 18:21:39 · 1303 阅读 · 2 评论 -
org.apache.http.client.utils.DateUtils日期转换问题
////在调用DateUtils.formatDate 会出现日期误差org.apache.http.client.utils.DateUtils.formatDate()//原因是DateFormatHolder.formatFor(pattern); public static String formatDate(final Date date, final String pattern) { Args.notNull(date, "Date"); Args.n原创 2021-04-15 13:24:08 · 845 阅读 · 0 评论 -
java集合原理解析(更新中)
java集合原理解析ArrayList 集合,是基于数组实现的集合,线程不安全.1.数据格式:底层的数据结构就是数组,数组元素类型为Object类型,即可以存放所有类型数据。我们对ArrayList类的实例的所有的操作底层都是基于数组的。下面我们来分析通过数组是如何保证库函数的正确实现的.2.ArrayList 继承了AbstrctList抽象父类,规范List操作规范,实现了RandomAccess 接口实现随机访问,所以ArrayList的fori循环执行比foreach循环的效率要高,Clon原创 2021-03-12 17:03:24 · 134 阅读 · 0 评论 -
java 数据简单爬取Jsoup
**java 数据简单爬取Jsoup//首先导入依赖 <!--java爬虫--> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.3</version> </depende原创 2021-02-26 15:12:21 · 95 阅读 · 0 评论 -
java Period计算日期(LocalDate)
1.这是在一次计算人员的执业年限,无意间找到的jdk自带的日期计算方法。需求是这样的,就是一个人员有一个首次执业时间,要求算出距今执业了几年,这里就涉及到年月日的计算,自己写也是可以计算写出来,但是我就想 jdk没有自带的方法去计算日期的吗? 终于皇天不负有心人,上代码↓//获取首次执业时间Date firstLicenseDate = entity.getProperty("firstLicenseDate", Date.class,null);//得到当前时区,当前时间LocalDate no原创 2021-02-19 13:24:50 · 414 阅读 · 0 评论 -
response 解决请求跨域问题
java response 解决请求跨域问题目前的浏览器为了数据的安全,所有请求被严格限制在同一域名下,如果需要从不同的服务器(不同域名)上获取数据,那么需要使用跨域HTTP请求。此时只需要在response头 加上↓边代码即可response.setHeader("Access-Control-Allow-Origin", "*")...原创 2021-01-22 13:10:02 · 4752 阅读 · 0 评论 -
Spring 注解设置bean非单例
概述通过Spring管理的类,默认是单例模式,但是如果有的类需要使用独立的属性,则需要配置为多例模式的. 但是多例模式不仅仅只是加一个声明,使用@Autowired进行注入,可能并不会是你想要的结果.因为多例模式的类是需要单独调用的.不搞清楚原理直接测试:需要多例的类上加上注解@Scope(“prototype”)@Component@Scope("prototype")public class ExampleService{ public void test(){ System.o.转载 2020-12-10 17:00:01 · 3920 阅读 · 1 评论 -
整合spring security
spring boot 项目整合 spring security 需要pom.xml 引入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <de原创 2020-12-09 11:06:54 · 83 阅读 · 0 评论 -
java多线程处理数据
在进行,处理大批量数据,程序执行缓慢,这时候就可以使用多个线程, 同时对数据处理,此文章只作为借鉴,如有不足之处欢迎指出.废话不多说,上代码↓ //构建线程池设置线程池的最大数量,线程池最大存活数量,线程池最大空闲时间,时间单位,线程等待队列,线程创建工厂 ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10, 10, 200, TimeUnit.SECONDS, new ArrayBlockingQueue&l原创 2020-11-24 16:44:19 · 1136 阅读 · 0 评论 -
解决请求url中含有编译后的特殊编码
前言:这是我在使用response.sendRedirect(跳转链接+加密后拼接的参数),对方接口是将我传的appid,和时间戳,根据appid获取到相应的密钥,进行加密,比较和我加密的是一致,但是就会出现,有时候加密是一致的,有时候加密是不一致的,排查加密包和jdk版本之后,就看了下发的请求,发现请求拼接的时候有一个%201类似的编译后的编码字符.导致我自己加密的和他加密不一致,这个是因为参数的原因有时候会编译成特殊字符,验证不同过,经过查阅资料得到以下解决代码,记录方便遇到此类问题的小伙伴借鉴./原创 2020-11-24 15:10:23 · 268 阅读 · 0 评论 -
java文件转Base64格式
//使用输入输出流,进行base64z转换 String idNumber = request.getParameter("idNumber"); try { Entity entity=getEntity(idNumber); if (idNumber != null) { String portrait = entity.getProperty("portrait", String.class, "");原创 2020-11-23 10:58:17 · 623 阅读 · 0 评论 -
java 文件图片压缩
/** * 传入图片文件的输入流 */public static InputStream compressFile(InputStream input) throws IOException { //1-压缩图片 BufferedImage bufImg = ImageIO.read(input); // 把图片读入到内存中 //压缩:宽度100px,长度自适应;质量压缩到0.1 if (bufImg != null) { bufImg = Thumbnails.of(原创 2020-11-19 14:05:37 · 105 阅读 · 0 评论 -
自定义注解使用
//定义自定义注解 Target 用于那个地方,retention什么时候加载@Target({ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)public @interface SyncFieldName { //注解的属性 String fieldName() default ""; String sourceField() default "";}public class Pojo {//自定义注解 两个不同实原创 2020-10-27 17:10:33 · 114 阅读 · 0 评论 -
java常用API
数字Math1.比大小//得到两个数中最大数Math.max(int a, int b); Math.max(float a, float b);//得到两个数中最小的数 Math.min(int a, int b);数组转成ListList<String> list=Arrays.asList(new String[]{"1","2"});List转数组List<String> list=new ArrayList<>();list.add("原创 2020-10-17 16:22:00 · 89 阅读 · 0 评论 -
lombok 简介(java 简化创建类的臃肿操作)
lombok到底是个什么呢,lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数啊之类的,lombok的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们编译源码的时候自动帮我们生成这些方法。lombok能够达到的效果就是在源码中不需要写一些通用的方法,但是在编译生成的字节码文件中会帮我们生成这些方法,这就是lombo转载 2020-10-16 17:19:39 · 141 阅读 · 0 评论 -
工厂模式实践思路
前言:公司让我做个数据比对的功能,然后我也不想去重复编写以前的代码,就想写的代码风骚一点,所以就用了注解,和一点反射,和工厂模式;为了以后方便查看我就写了这边博客首先我们创建一个工厂类,这个类用于生产你所需的对象public class DataDockingAbstractFactory{public static AbstractEachClass generateEachObject(String type){//判断类型返回你所需要的对象if(type.equals("code")){原创 2020-10-15 16:56:47 · 100 阅读 · 0 评论 -
ajax 跨域前后端解决方法
前言:公司有个需求,就是把别的系统的页面嵌入我们系统中,但是嵌入的那个页面则需要ajax去获取数据,渲染出来;当你把别的系统的页面嵌入了你的系统中,这时再去点击页面连接执行ajax请求时你会发现F12会抛出一段异常,会告诉你,此请求存在跨域问题这时我们则需要在ajax中加入jsonp代码如下:$.ajax(function(){ url:"xxxxxxxx",//请求地址 data:{"xxxx":""},//请求携带的数据 dataType:"jsonp",//跨域设置 jsonp:"callback原创 2020-10-15 15:21:20 · 1303 阅读 · 0 评论 -
日期格式 Wed Oct 16 00:00:00 CEST 2020 转换
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);simpleDateFormat.format("Wed Oct 16 00:00:00 CEST 2020");原创 2020-10-13 17:37:56 · 1601 阅读 · 0 评论 -
IDEA 设置properties显示中文
IDEA 设置properties显示中文原创 2020-08-20 13:49:58 · 488 阅读 · 0 评论 -
spring 实现SmartLifecycle接口的作用详解
在使用Spring开发时,我们都知道,所有bean都交给Spring容器来统一管理,其中包括没一个bean的加载和初始化。有时候我们需要在Spring加载和初始化所有bean后,接着执行一些任务或者启动需要的异步服务,这样我们可以使用 SmartLifecycle 来做到。SmartLifecycle 是一个接口。当Spring容器加载所有bean并完成初始化之后,会接着回调实现该接口的类中对应的方法(start()方法)。如下是一个实例:我在对应的方法上注上了明确的说明,注意看一下。packag转载 2020-08-19 09:49:10 · 688 阅读 · 0 评论 -
java @Target@Retention @Documented 注解的含义
spring 注解@Target@Retention @Documented当我们看想看一个spring 注解点击进去看的时候就会发现,注解类中大多都会有标题中的这三个注解,这三个注解什么意思呢?,在工作摸鱼的时候,我就简单了解一下:@Target 翻译后就是,目标的意思,该注解的意思是注解使用的作用目标,其中{ElementType枚举类包含了,{TYPE(类型)},FIELD(外),METHOD(方法),PARAMETER(参数),PACKAGE(包)}等.@Retention 是指被他注解的注原创 2020-08-18 18:13:50 · 217 阅读 · 0 评论 -
零宽字符
零宽空格(zero-width space, ZWSP)用于可能需要换行处。Unicode: U+200B HTML: 零宽不连字 (zero-width non-joiner,ZWNJ)放在电子文本的两个字符之间,抑制本来会发生的连字,而是以这两个字符原本的字形来绘制。Unicode: U+200C HTML: 零宽连字(zero-width joiner,ZWJ)是一个控制字符,放在某些需要复杂排版语言(如阿拉伯语、印地语)的两个字符之间,使得这两个本不会发生连字的字符产生了连字效果。转载 2020-07-16 10:56:23 · 2596 阅读 · 0 评论 -
java虚拟机(知识总结)
java虚拟机java虚拟机中包含:java虚拟机栈 - java虚拟机栈是线程私有的,它的生命周期与线程相同,栈中一般存放这基本数据类型(boolean,byte,char,short,int,float,long,double)、对象的引用(reference 类型,它不等同于对象的本身,它可能是一个指向对象的引用指针,也可能是代表对象的一个句柄,或者一个对象的相关的位置)、在java栈中64长度的long和double类型的数据会占用两个局部变量空间,其他只占用一个空间。且局部变量所需要的内存原创 2020-07-03 13:45:10 · 88 阅读 · 0 评论 -
用户重置密码安全验证(被国家机构抓包检测总结的经验)
本文章仅用作参考(本人小白一个,如各位大牛有更好的方法,或者思路欢迎评论区留言讨论!)1.编写这篇博客的原因是为了,今后在做别的功能,也是为了今后能多考虑一下系统安全,去编写代码!场景:公司是做法律服务系统的,因为系统比较老旧,之前的功能坏掉了,所以就要求重新去维护一下之前的重置密码功能。业务:其中有个重置密码的功能是信息核实的,这个信息核实就是,先填写要操作的用户账号如果系统中存在该用户账号,填写一下用户的一个执业号码和身份信息去进行验证(ps:问题所在),前台使用异步操作进行ajax携带参数执业信原创 2020-07-03 11:01:31 · 472 阅读 · 1 评论 -
IDEA 创建Spring Boot 项目详解
IDEA 创建 Spring Boot 项目点击File->new->Project选择点击下一步 Group 分组名,Artifact 项目名称点击下一步进入Spring Boot 选择 Spring Boot整合的框架 ,这里如果选择了整合框架会自动在你的pom.xml中生成Maven配置点击next 一个spring Boot 项目就创建成功了(ps:创建成功在项目路径src/main/resources/下会看见一开始生成的spring Boot 配置文件 没有改过的应该是-&g原创 2020-06-08 11:21:29 · 103 阅读 · 0 评论 -
java 把数据导出成表格下载
java 把数据导出成表格下载现在有很多poi把数据导出的,本篇博客使用的jxls poi 把数据导出到xls 表格中的.//使用jxls poi需要在pom.xml中加上依赖配置 <dependency> <groupId>org.jxls</groupId> <artifactId>jxls-poi</artifactId> <version>原创 2020-05-27 13:52:48 · 103 阅读 · 0 评论 -
ajax的traditional属性作用
ajax的traditional属性作用/**如果使用ajax请求接口,没有设置traditional属性为true,(ps:不显示设置此属性默认是false)接口使用requset.getParameter('arry'),会发现这样获取是获取不到值的debugger进行调试发现数组获取需要:requset.getParameter('arry[]')这样获取.如果在java中想要用ajax中的键名获取数据则需要显示的设置traditional:true此属性是吧数组或者不是字符串的数据组原创 2020-05-21 19:19:35 · 593 阅读 · 0 评论 -
ajax 请求 POST HttpServletRequst 获取值
ajax 请求 POST HttpServletRequst 获取值//如果使用ajax请求 加上contentType="application/json;"//java代码中使用HttpservlectRequst 获取post请求的值就不能直接使用 requset.getParameter('name');来直接获取根据参数名称获取值了,这里则需要使用requset.getInputStream();来获取data,然后在转成你想要的数据类型(ps:如果不加contentType 则可以正常使用r原创 2020-05-21 14:20:07 · 308 阅读 · 0 评论 -
java日期操作java.util.Calendar
java日期操作java.util.Claendar//得到当前操作日期对象Calendar calendar=Calendar.getInstance();//calendar当前操作对象的set可以对当前日期的年 月 日 分 进行操作 只需要在set的第一个参数设置你想操作的类型,在第二个参数先获当前的天数进行对当前时间进行操作,本博客代码只是对天数进行了操作,年 月同理**(注:注意第一个参数设置的类别)**calendar.set(**Calendar.DAY_OF_YEAR**,inst原创 2020-05-09 16:36:06 · 154 阅读 · 0 评论 -
java日期算相差的天数
java日期算相差的天数在学java中的时候总会对Io流的操作和日期的操作计算这块比较薄弱,所以我发表这篇博客用来记录学习,也便于以后自己查看复习计算两个日期计算天数// An highlighted blockpublic int getDateDay(Date statrDate,Date endDate){if(statrDate==null||endDate==null){re...原创 2020-04-09 18:16:44 · 125 阅读 · 0 评论