java
文章平均质量分 62
吾追吾所求
一无所有便是拼的理由
展开
-
Spring如何解决循环依赖
对自己说的话深入spring原理对现在的自己来说确定太难了,但是要坚持,点滴的积累,一定会有收获的~加油!什么是循环依赖所谓的循环依赖是指,A 依赖 B,B 又依赖 A,它们之间形成了循环依赖。或者是 A 依赖 B,B 依赖 C,C 又依赖 A。它们之间的依赖关系如下:根据创建对象的方式不同, 分为三种情况:第一种:构造器参数循环依赖第二种:setter方式单例,默认方式第三种:setter方式原型,prototype,也就是多例第一种:构造器参数循环依赖Spring容器会将每一个正转载 2021-06-26 16:47:14 · 122 阅读 · 0 评论 -
Spring之Bean的作用域与生命周期
在前面博客中提到容器启动获得BeanDefinition对象中有一个scope 属性。该属性控制着bean对象的作用域。本章节介绍Bean的作用域及生命周期,了解bean是怎么来的又怎么没的。一、Bean的作用域在Bean容器启动会读取bean的xml配置文件,然后将xml中每个bean元素分别转换成BeanDefinition对象。在BeanDefinition对象中有scope 属性,就是它控制着bean的作用域。Spring框架支持5种作用域,有三种作用域是当开发者使用基于web的Appli.转载 2021-06-26 16:40:54 · 95 阅读 · 0 评论 -
简述HttpSession的生命周期
session简介在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间以及如果需要的话,可能还有一定的操作空间。具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。需要注意的是,一个Session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间。A转载 2021-06-26 16:38:15 · 3124 阅读 · 0 评论 -
NumberFormatException异常为什么不需要捕获?
个人博客原文链接更多文章欢迎访问个人博客站点在写数字字符串转数字的过程(Integer a = Integer.parseInt("123");)发现此静态方法抛出了NumberFormatException异常,但实际代码中并没有要求try/catch处理或者继续向上抛出异常,很是诧异,因此查询了资料,现在记录如下。异常源码信息此方法的源码为: public static int parseInt(String s) throws NumberFormatException...转载 2021-06-17 14:52:49 · 893 阅读 · 0 评论 -
lambda表达式替换list中某个实体类的某个元素值
起因:昨天在写一个需求的时候,我想遍历一个集合,找到该集合下实体类里面的某个字段和我想要的相等的,并把它替换掉。这个时候按说找到之后替换掉就应该跳出循环了,但是在用lambda的foreach方法时并没有找到该方法,最后是用普通for循环来解决的。最后由同事提示可以用filter来处理,我试了一下,可以达到想要的效果,直接贴代码:import com.google.common.collect.Lists;import java.util.List;import java.util.stream转载 2021-04-19 14:56:02 · 4604 阅读 · 0 评论 -
一篇文章彻底理解volatile关键字
最近面试,你又被volatile关键字虐了吗?这个问题,是不是问得有点扎心了!的确,有很多朋友反馈面试中在涉及考察Java并发编程知识的时候,经常会被问到volatile关键字。对于有些公司如果你能回答出volatile关键字的基本作用及原理,如:"volatile关键字可以实现线程间的可见性,之所以可以实现这一点,原因在于JVM会保证被volatile修饰的变量,在线程栈中被线程使用时都会主动从共享内存(堆内存/主内存)中以实时的方式同步一次;另一方面,如果线程在工作内存中修改了volatile修饰的变.转载 2021-04-01 17:40:03 · 163 阅读 · 0 评论 -
在java代码中如何对if和else进行优化,尽量不写if判断
在java代码中如何对if和else进行优化,尽量不写if判断1、业务需求说明根据不同审批类型创建不同类型的表单,本项目共有36个审批类型,所以得写36个判断,如果后续还要添加审批类型,那就得继续添加if,这样增加了代码的冗余度,那能不能不用写if,直接根据传入参数,自动调用某种表单的创建方法,这里我采用了反射的技术来实现这一设想,具体如何实现请看下面代码2、审批类型说明approveId:审批类型id审批类型列表1 化工采购合同审批2 化工采购合同付款审批3 化工原创 2021-03-25 18:11:55 · 1189 阅读 · 2 评论 -
通过 java 反射调用方法的坑 java.lang.NoSuchMethodException
有时候通过java反射调用方法 会报 java.lang.NoSuchMethodException ,但是进入类里面查看,明明是有这个方法,咋提示没有呢?这是因为有的方法是私有的,而代码里面是通过 getMethod 方法获取,就会报这个错误。要知道原因, 需要搞清楚以下四个方法的区别getMethods() 返回所有公共方法的对象数组getMethod(String name,Class<?> …parameterTypes) 返回指定名称和参数的公共方法的对象getDeclare转载 2021-03-24 17:08:22 · 3388 阅读 · 0 评论 -
BigDecimal的equals奇葩传参,形参是Object,在方法中又判断形参是否为BigDecimal类型,这不矛盾吗,为什么不直接定义形参为BigDecimal类型呢
/** * Compares this {@code BigDecimal} with the specified * {@code Object} for equality. Unlike {@link * #compareTo(BigDecimal) compareTo}, this method considers two * {@code BigDecimal} objects equal only if they are equal in * value and scale (thu.原创 2021-03-24 16:56:10 · 2576 阅读 · 0 评论 -
springboot 使用反射时spring注入无效
解决方法:在使用反射的类中注入 ApplicationContext,通过applicationContext.getBea(cls); 从spring中获取bean@Autowiredprivate ApplicationContextapplicationContext;Class<?> cls = Class.forName("xxx.xxx.xxx.xxx.classname");Object be...转载 2021-03-24 14:37:23 · 494 阅读 · 0 评论 -
在springboot项目中如何设计UrlFilter过滤器
1、在我们Web项目中需要对非法Url和请求参数进行过滤拦截,所以就得配置一个UrlFilter过滤器,具体配置如下所示一、创建UrlFilter配置类import java.io.IOException;import java.io.PrintWriter;import java.util.Iterator;import java.util.Map;import javax.servlet.Filter;import javax.servlet.FilterChain;impo..原创 2020-12-02 10:59:14 · 2458 阅读 · 0 评论 -
java 上传图片 并压缩图片大小
Thumbnailator 是一个优秀的图片处理的Google开源Java类库。处理效果远比Java API的好。从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的生成方式,同时保持了需要写入的最低限度的代码量。还支持对一个目录的所有图片进行批量处理操作。支持的处理操作:图片缩放,区域裁剪,水印,旋转,保持比例。另外值得一提的是,Thumbnailator至今仍不断更新,怎么样,感觉很有保障吧!Thumbnailator官网:http转载 2020-10-13 13:07:36 · 1009 阅读 · 0 评论 -
springboot实现微信扫码登录和绑定
前言:系统中若用到微信扫码登录,则要进行微信公众账号授权,所以在开发功能之前,需要到[微信公众平台][https://www.baidu.com/]申请一个订阅号,当然仅仅只是作为开发者,则使用[测试公众账号][http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login]也行。有了公众号后,则需登录公众后台进行一些基础配置,配置流程如下1.点击设置–>选择公众号设置功能设置–>配置好业务域名和网页授权域名。2.点击开发–.原创 2020-09-04 17:21:24 · 5430 阅读 · 5 评论 -
为什么在filter过滤器中把request对象传到其他类中处理会报空指针异常
求解答原创 2020-07-18 15:45:42 · 312 阅读 · 0 评论 -
如何通过SpringBoot的 Logback自定义日志输出,然后记录到数据库,解决方法如下
https://www.jianshu.com/p/d8eea65626fc原创 2020-07-17 13:00:16 · 1438 阅读 · 0 评论 -
出现getWriter() has already been called for this response异常,如何解决
解决方法:是因为 response.getWriter 打开了没有关闭原创 2020-07-16 14:34:31 · 817 阅读 · 0 评论 -
如何配置微信后台开发者配置,以及如何启用服务器配置,解决“你的服务器没有正确响应Token验证”问题
一、首先得知道服务器配置是什么,有什么用其实这里的配置是用于接收用户在公众号中的操作产生的事件,比如用户取关了,或者用户关注了,微信服务器会向我们配置的url发送请求,告诉我们当前用户的操作,对于这些操作需要开发者自行去处理二、如何让这个配置生效(这里看文档时,微信只提供了php的验证方式,并没有java的。。。)它的验证无非是想让微信知道你的接口通不通(个人理解),那怎么做呢?请看下面java实现/** * @Desc配置到微信后台的地址 * 这个是微信服务器配置ur...原创 2020-07-15 11:55:06 · 1472 阅读 · 0 评论 -
如何在Json转Object时校验对象的属性是否符合规则
/** * @ClassName BeanValidator * @Description: 对象校验器 * http://ifeve.com/use-bean-validation/ * @Date 2020/7/9 * @Version V1.0 **/public class BeanValidator { /** * 验证某个bean的参数 * @param object 被校验的参数 * @throws ValidationException .原创 2020-07-10 11:25:49 · 2422 阅读 · 0 评论 -
postman如何提交复杂表单数据
java后台实体示例public class YpPurContractRequest { /** * 合同信息对象 */ private Contract ypPurchaseContract; /** * 公司信息对象 */ private PartyInfo ypPurPartyInfo; /** * 数组对象 */ private List<ypPurFee>...原创 2020-07-09 14:41:27 · 1228 阅读 · 0 评论 -
java抓取网页中的人民币对美元的汇率数据
java发起get请求,请求的url如下https://srh.bankofchina.com/search/whpj/search_cn.jsp该接口返回的数据如下:但是返回的数据没有分页总数,如何得到分页总数 ,这时可以发现返回的页面中有如下信息m_nRecordCount = 110;m_nPageSize = 20;根据以上数据就能得到总页数...原创 2020-07-04 14:11:02 · 970 阅读 · 0 评论 -
在springboot项目中如何根据部门ID查询其上下级所有数据,生成树形结构的数据
mysql数据库的部门表结构:需求:将部门的树形结构数据已JSON形式返回给前端解决思路:1、先获取当前部门的所有父级节点,2、再获取当前部门的所有子节点,3、查询组合(父级节点、当前节点、子节点组合起来)后的节点数据4、在java中进行遍历生成树形菜单具体操作如下:1、部门的实体VO@Datapublic class DepartmentVO { private int id; //部门ID private.原创 2020-07-01 14:58:54 · 6766 阅读 · 8 评论 -
spring的@Value注解无法直接给static属性注入数据,解决方法如下
问题点:@Value注解无法直接给static属性注入数据,如:@Value("${img.head-access-location}")private static String headAccesslocation;解决方法:1、将实体类交给spring管理,在类上添加@Component2、生成需注入属性(headAccesslocation)非静态的get和set方法具体参考如下:@JsonIgnoreProperties({"headAccesslocation","valu.原创 2020-06-23 15:06:10 · 1234 阅读 · 0 评论 -
JAVA中其它包中无法引用缺省包(default package)的类
原因在评论里原创 2020-05-16 13:55:36 · 418 阅读 · 3 评论 -
解释单例模式中的 双重锁为什么是线程不安全的
若不加volatile关键字,会出现如下情况假设线程A第一个获得锁,然后执行到singleton=new Singleton()语句,此语句会有三个执行步骤,如下:1、分配对象空间地址2、初始化对象3、引用变量进行赋值这三步会出现指令重排序,第二步和第三步有可能会顺序改变,变成 1、3、2的执行顺序,若按1、3、2的顺序执行,则在A线程刚好执行完“引用变量进行赋值“后,...原创 2020-04-19 22:33:26 · 630 阅读 · 0 评论