日常
way_more
You can be way more.
展开
-
Java实现手机号码归属地查询
手机号码归属地查询原创 2024-01-16 17:18:09 · 1657 阅读 · 0 评论 -
yml配置文件获取数值不一致
yml配置文件获取数值不一致原创 2023-12-07 22:08:21 · 592 阅读 · 1 评论 -
OncePerRequestFilter详解
OncePerRequestFilter是Spring框架提供的一个过滤器,确保在一次HTTP请求期间只执行一次特定的过滤器逻辑。通过使用onceperrequestfilter,我们可以实现过滤器在同一次请求中只执行一次的效果,提高程序性能。OncePerRequestFilter跟普通Filter的最大区别就是执行次数,OncePerRequestFilter可以确保在一次HTTP请求期间只执行一次特定的过滤器,避免过滤器多次执行的问题。原创 2023-11-14 15:25:49 · 7306 阅读 · 0 评论 -
postman设置环境变量,简单又实用!
目录前言创建环境变量前言我们在使用postman测试接口时,一个项目往往有多个环境(测试、正式等),请求不同环境的接口一般只是ip和端口不一样,如果只是环境不同就新建一个请求,那么会比较麻烦。这时候我们可以定义多个环境变量,在接口地址中进行引用。创建环境变量1、点击postman右上角的编辑按钮(下图中右上角红色框),选择add,填写环境名称,变量名称,对应的变量值即可。有多个环境,就新建多个环境即可2、添加完成之后,我们就可以在Environment选择框,选择我们的环境,下面我选择刚才新增的原创 2020-12-03 21:12:40 · 2806 阅读 · 0 评论 -
Map中put与putIfAbsent的区别
put与putIfAbsent区别put与putIfAbsent区别:put在放入数据时,如果放入数据的key已经存在与Map中,最后放入的数据会覆盖之前存在的数据,而putIfAbsent在放入数据时,如果存在重复的key,那么putIfAbsent不会放入值。putIfAbsent 如果传入key对应的value已经存在,就返回存在的value,不进行替换。如果不存在,就添加key和value,返回null下面是HashMap的putIfAbsent 方法调用的源码:/ * ** @p原创 2020-11-16 20:53:28 · 666 阅读 · 0 评论 -
各种文件对应的ContentType,拿来即用
Content-TypeContent-Type即内容类型,Content-Type用于定义网络文件的类型和网页的编码,决定文件接收方将以什么形式、什么编码读取这个文件,这就是经常看到一些网页点击的结果却是下载到的一个文件或一张图片的原因。ContentType属性指定响应的 HTTP内容类型。如果未指定 ContentType,默认为TEXT/HTML。我们在代码也经常需要定义ContentType,用于指定响应的类型例:response.setCharacterEncoding("utf-8"原创 2020-11-04 21:26:34 · 23069 阅读 · 2 评论 -
校验入参原来这么简单,不要再手写代码校验了
前言在项目中,我们往往需要对入参进行校验,比如是否为null,是否为空字符串等,这时候,还有很多人是用代码去判断是否为Null等,其实这是大可不必的,对于这样简单的校验,我们直接使用@Valid+校验注解(如@NotBlank、@NotNull等)进行校验即可@Valid校验入参1、首先,我们在定义实体类的时候,使用校验注解来声明需要校验的字段常用校验注解:@NotNull:检验是否为null,可以为空字符串(“”),一般用在基本数据类型的非空校验上@NotEmpty: 字符串不能为空,而且长原创 2020-09-12 20:31:29 · 2303 阅读 · 1 评论 -
Java中double保留两位小数的各种方法
目录一、使用BigDecimal的setScale方法二、使用Sting自带的format方法三、使用NumberFormat设置最大小数位数四、使用DecimalFormat,#.00为保留两位小数一、使用BigDecimal的setScale方法double one = 5.864;BigDecimal two = new BigDecimal(one);double three = two.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();原创 2020-09-10 21:05:03 · 60523 阅读 · 0 评论 -
JSON参数转换不了JavaBean属性,原来是这样
前言有时候我们用JavaBean去接收Json参数的时候,有些Json字符串的key是不符合我们定义的JavaBean(比如全大写的KEY或者开头大写的KEY等等),这样就无法将json中的value值赋值到Bean中相应的属性,这时候怎么办呢?解决方法在实体类中加JsonProperty注解即可,用@JsonProperty指定属性对应的key。例:@JsonProperty(“ORDER_ID”)private String orderId;或者放到getter、setter方法上这原创 2020-08-24 20:27:12 · 907 阅读 · 0 评论 -
属性拷贝哪家强?Apache BeanUtils VS Spring BeanUtils
前言在我们实际项目开发过程中,我们经常需要将不同的两个对象实例进行属性复制,从而基于源对象的属性信息进行后续操作,而不改变源对象的属性信息,比如DTO数据传输对象和数据对象DO,我们需要将DO对象进行属性复制到DTO,但是对象格式又不一样,所以我们需要编写映射代码将对象中的属性值从一种类型转换成另一种类型。对象拷贝在具体介绍两种 BeanUtils 之前,先来补充一些基础知识。它们两种工具本质上就是对象拷贝工具,而对象拷贝又分为深拷贝和浅拷贝,下面进行详细解释。什么是浅拷贝和深拷贝在Java中,转载 2020-08-18 22:26:04 · 273 阅读 · 0 评论 -
JDK自带的HTTP利器:HttpURLConnection
目录HttpURLConnectionHttpURLConnection使用HttpURLConnection在JDK的java.net包中已经提供了访问HTTP协议的基本功能的类:HttpURLConnection。HttpURLConnection是Java的标准类,它继承自URLConnection,可用于向指定网站发送GET请求、POST请求。它在URLConnection的基础上提供了一些便捷的方法。HttpURLConnection是一个抽象类,无法直接实例化对象。通过调用openColl原创 2020-08-18 20:36:06 · 3119 阅读 · 1 评论 -
为什么阿里规定需要在事务注解 @Transactional 中指定 rollbackFor?
前言阿里巴巴Java规范:方法需要在Transactional注解指定rollbackFor或者在方法中显示的rollback。1.异常的分类先来看看异常的分类error是一定会回滚的这里Exception是异常,他又分为运行时异常RuntimeException和非运行时异常可查的异常(checked exceptions):Exception下除了RuntimeException外的异常不可查的异常(unchecked exceptions):RuntimeException及其子类转载 2020-08-17 21:02:15 · 175 阅读 · 0 评论 -
InputStream和String互相转换的方法
前言下面是一些 InputStream转String,String转InputStream的方法,大家可以拿去即用InputStream转String的方法方法一:public String inputStreamToString(InputStream inputStream)throws Exception{ byte[] bytes = new byte[0]; int count = 0; while (count == 0) {原创 2020-08-17 20:50:51 · 1768 阅读 · 0 评论 -
POI导出导入Excel的方法,拿去即可用
导出 /** * * @param request * @param response * @param titles 表头行 * @param datas 数据 * @param fileName 文件名 * @throws IOException */ public void exportExcel(HttpServletRequest request, HttpServletResponse response,原创 2020-08-03 20:31:47 · 331 阅读 · 0 评论 -
浏览器下载模板excel是怎么做的,这篇文章告诉你
前言我们在开发一些后台系统时,可能会遇到下载模板excel的功能,用户点击下载模板,即下载一个模板excel到本地,这个功能是怎么实现的呢?下面就告诉你实现先放一个模板excel到static或者templates文件夹下下面就是实现的代码public void downTemplateExcel(HttpServletRequest request, HttpServletResponse response) throws IOException { String fileN原创 2020-07-28 20:30:33 · 464 阅读 · 0 评论 -
RestTemplate请求结果中文乱码?这篇文章告诉你
前言当我们用String类型来接收RestTemplate请求结果时,我们会发现其中的中文变成了乱码,这是为什么呢?原因如果HTTP请求的结果返回的是字符串,那么RestTemplate就会用StringHttpMessageConverter转换器进行转换处理因为 StringHttpMessageConverter 这个类默认编码不是UTF-8,而是ISO_8859_1,所以导致解析的结果中文乱码源码如下:/** * The default charset used by the co原创 2020-07-25 22:46:40 · 2077 阅读 · 0 评论 -
@Component和@Configuration原来有这个区别,长见识了
前言我们都知道@Component和@Configuration都可以用来做配置类的注解。不过有什么区别不是很清楚,今天看到一篇文章说明了区别,所以我做了下测试正文先定义两个bean类@Datapublic class Teacher { private String id; private String age; private Person person;}@Datapublic class Person { private String id原创 2020-06-22 21:26:50 · 1500 阅读 · 0 评论 -
Quartz是这样传递参数的
我们使用Quartz时候,有时候需要在job使用一些数据,那么该如何传入呢?我们来回顾一下job是如何运行的我们传给scheduler一个JobDetail实例,因为我们在创建JobDetail时,将要执行的job的类名传给了JobDetail,所以scheduler就知道了要执行何种类型的job;每次当scheduler执行job时,在调用其execute(…)方法之前会创建该类的一个新的实例;执行完毕,对该实例的引用就被丢弃了,实例会被垃圾回收;这种执行策略带来的一个后果是,job必须有一个无参的构原创 2020-06-21 18:35:50 · 3927 阅读 · 1 评论 -
redis如何设置有效期为一天的缓存,看这篇文章告诉你
前言业务:设置一个redis缓存,每天的24点过期,需要设置redis的过期时间,直接使用24小时是不行的,因为我们不能保证每次都是0点0分0秒开始,所以我们需要算出当前时间到明天0点0分0秒的差值方案一: 使用Calendar(Java 8之前)getInstance()是Calendar提供的一个类方法,它的作用是获得一个Calendar类型的通用对象,getInstance()将返回一个Calendar的对象。使用Calendar.getInstance()不仅能获取当前的时间,还能指定需要原创 2020-06-15 21:34:36 · 11365 阅读 · 1 评论 -
scope import解决Maven单继承
前言今天看代码,看到POM文件中有import这一些代码,看到import的scope疑惑了,因为之前没有见过。解析我们知道,Maven是单继承机制,也就是parent标签只能有一个。而POM文件的parent标签一般都是继承spring-boot-starter-parent。那有时候,我们还想继承其他的父类或者让父类的依赖更加清晰和好管理时,怎么办?而这个scope import就是可以解决这个单继承的问题scope=import只能用在dependencyManagement里面,且仅用于原创 2020-06-05 15:13:15 · 325 阅读 · 0 评论 -
出现异常:ConfigurationClassPostProcessor.importRegistry available
前言今天创建一个SpringBoot工程,启动时报了以下错误Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘org.springframework.context.annotation.ConfigurationClassPostProcessor.importRegistry’ available从字面来看是因为没有名为’org.springframework.con原创 2020-06-05 11:06:36 · 4322 阅读 · 0 评论 -
Class类原来是这样的,涨知识了
class类Class类(在java.lang包中):在Java中,每个class都有一个相应的Class对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个Class对象,用于表示这个类的类型信息。看一下Class类的源码注释,得出/**Instances of the class {@code Class} represent classes andinterfaces in a running Java application. An enum is原创 2020-05-29 10:50:43 · 247 阅读 · 0 评论 -
扒一扒枚举的那些事
概念enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性。在Java中,被 enum 关键字修饰的类型就是枚举类。枚举的用处:管理常量,枚举类型的本质所有枚举本都是继承自java.lang.Enum源码:public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializable { private fin原创 2020-05-28 10:52:53 · 115 阅读 · 0 评论 -
ApplicationContextAware与ApplicationContext的关系原来是这样的
前言今天看到一段代码@Componentpublic class BaseApplicationContext implements ApplicationContextAware { private static ApplicationContext context; @Override public void setApplicationContext(@SuppressWarnings("NullableProblems")原创 2020-05-27 16:10:28 · 1259 阅读 · 0 评论 -
日常记录:InitializingBean是什么?
前言今天在项目看到一个InitializingBean,不了解是什么作用,特意查了下InitializingBean其实,InitializingBean接口是为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候都会执行该方法。InitializingBean源码public interface InitializingBean { void afterPropertiesSet() throws Exception原创 2020-05-27 11:48:40 · 446 阅读 · 0 评论