小知识点
MTHGHO
这个作者很懒,什么都没留下…
展开
-
使用google.gson工具时getAsString()方法返回JsonNull异常问题解决
概述在使用google.gson工具时,JsonElement的getAsString()方法返回JsonNull异常问题。问题描述使用google.gson工具时经常会使用的就是反序列化功能。比如看下面的一个方法:private static JsonParser parser= new JsonParser();public String parseJsonString(String raw) { JsonElement jsonElement = JSON_PARSER.parse原创 2021-07-15 14:01:17 · 2308 阅读 · 1 评论 -
java中的序列化与反序列化工具
工具一:com.fasterxml.jackson.databind.ObjectMapper原创 2021-07-09 17:27:04 · 602 阅读 · 0 评论 -
两种http传输协议工具简介
工具一:org.apache.httpcomponenthttps://blog.csdn.net/wjrong_1/article/details/51114233工具二:com.squareup.okhttp3https://www.cnblogs.com/liyutian/p/9473747.html原创 2021-07-09 17:12:05 · 476 阅读 · 0 评论 -
本地如何同时跑起两个项目,并用其中一个项目调用另一个项目的接口
概述原创 2021-07-06 19:32:59 · 2613 阅读 · 0 评论 -
SpringBoot项目中自定义数据源时需要排除掉DataSourceAutoConfiguration
概述在企业进行开发时,因为使用的是公司提供的数据源,这个时候需要排除掉SpringBoot默认提供的数据源。实现方式在SpringBoot启动类上方加一个注解即可:@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})public class App { public static void main(String[] args) { SpringApplication.run(App.cl原创 2021-06-24 13:52:24 · 3935 阅读 · 0 评论 -
根据List中所存储对象的字段进行排序
概述今天在写代码的时候,由于采用了并发处理,最后由多线程处理后返回的结果存入到并发容器当中!所期望的是返回的结果按照List中所存储对象的id字段进行升序排序,所以也就有了接下来的这篇博客!即将返回结果重新进行排序!解决方案:将返回的List结果集按照List中所存储对象的id字段进行升序排序!因为List接口提供了参数为Comparator接口实现类的方法。所以可以采用如下代码所示的方式进行排序://list为结果集List<PoJo> list = MultiThreadHan原创 2021-06-24 11:20:42 · 930 阅读 · 0 评论 -
本地启动tomcat失败,关闭时显示:Unable to ping server at localhost:1099
产生这个问题的原因是因为之前在tomcat的bin目录下的catalina.bat文件中添加了:set JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxNewSize=256m -XX:MaxPermSize=1024然后idea中配置的该参数与jvm中的该参数产生冲突造成的启动失败!解决方案就是:将tomcat的bin目录下的catalina.bat文件中的:set JAVA_OPTS=-server -Xms512m原创 2021-06-23 17:18:54 · 628 阅读 · 0 评论 -
本地项目通过mvn clean install命令将jar文件复制到本地的maven仓库中
本地项目通过mvn clean install命令将jar文件复制到本地的maven仓库中,这样的话,其他项目就可以使用相应的jar包了!原创 2021-06-18 19:30:23 · 421 阅读 · 0 评论 -
实习时学到的git使用操作规范
实习时组里的git使用规范:开发流程:1、 独立开发新功能,对其他业务不产生影响(1) 从master拉代码到个人开发分支,比如个人分支为:dev_xjy(2) 开发测试完成后,从master再拉一次代码,如有冲突在自己的开发分支解决(3) 合并自己开发分支到master(4) 从release分支merge到master(5) 集成测试通过后, 用compare工具比较master和release的代码差异,确定差异代码都为需要发布内容(6) 升级版本,打tag,把master分支mer原创 2021-06-18 19:20:38 · 218 阅读 · 0 评论 -
Tomcat的几种使用方式
概述在开发项目的过程中,我们常会使用tomcat作为服务器,接下来介绍一下使用tomcat的两种方式!方式1:即常见的通过部署本地tomcat的方式来启动项目步骤如下:1.本地安装tomcat,并配置好环境变量。可参考其他人的博客2.进入Run/Debug Configurations窗口界面,点击+号3.选择Tomcat Server -> Local4.按下图所示配置5.然后再配置deployment项5.配置时,选择非exploded版,配置好后,下方会带有包名相应的额原创 2021-06-18 19:10:15 · 638 阅读 · 0 评论 -
Controller方法中应该主要是放置逻辑流程代码
在平时开发的过程中,自己有一个习惯不好,就是喜欢把主要的逻辑流程放到biz层的代码中,比如在biz层把代码开发好了,自己又在service层写一个主要的逻辑控制代码,相当于起到了controller方法的作用。自己后续开发过程中意识到这样是不对的,需要把流程控制放在controller中,比如调用service层代码从数据库查询数据,然后交由biz层的服务代码来处理,然后将返回结果交由service层代码插入数据库,并且每走一步,中间的控制过程都可以由controller方法返回更详细的消息给前端!.原创 2021-06-15 17:26:56 · 810 阅读 · 0 评论 -
java后端接收List<Long>或者List<String>类型数据
概述平时在做项目时,当从前端以json字符串格式向后端传递对象时,后端使用@RequestBody注解解析为对象,当前端只是传递单个查询参数时,则以@RequestParam注解来接收参数!然后今天突然碰到后端的接收参数为List<Long>的情况,突然不知道是使用@RequestBody还是@RequestParam,查询一些资料后,问题得以解决,遂将解决办法记录如下!可行的解决方案使用@RequestBody!后端接收参数的代码为:注意使用@RequestBody注解时,应该使用p原创 2021-06-03 18:56:21 · 14845 阅读 · 0 评论 -
关于List<>集合对象size()方法返回值以及isEmpty()返回值的认知
概述之前一直对于List<>集合对象中关于size()以及isEmpty()等的认知不够明确,所以做一下总结如下!看代码://测试public static void main(String[] args) { //1. List<List<String>> stringLists = new ArrayList<>(); System.out.println(stringLists.size()); System.ou原创 2021-06-02 10:52:05 · 4667 阅读 · 0 评论 -
Autowired must be defined in Spring bean @Component/@Service
概述今天写代码时碰到一个问题,现记录如下:今天在一个类中注入一个bean对象,结果提示Autowired members must be defined in valid Spring bean (@Component|@Service|…),它的含义就是:自动注入对象必须定义在有效的spring bean内,也就是说只有本身作为bean的类才能注入其他对象。报错代码如下:public class LogQueryBiz { @Autowired private ErrorDetail原创 2021-06-01 20:06:10 · 34101 阅读 · 6 评论 -
String关于null以及集合关于null的判定与认识
1.String为null//定义一个str,此时str为nullString str;//注意:此时str不为null,此时只是str.length()==0而已String str = "";2.List<String>为null//此时的strs不为null,虽然strs中没有加入元素。即strs==null此时会返回false//但是此时的strs.size()==0会返回true,即strs不为null,但是其中的元素个数为0//此时的strs.isEmpty()会原创 2021-05-27 19:45:27 · 1293 阅读 · 0 评论 -
Gson与文件处理
概述1.介绍gson的使用,主要涉及序列化和反序列化2.通过Gson将类对象转化为json字符串,并保存为本地文件3.通过读取上传的MultipartFile文件,将json字符串反序列化为类对象4.org.apache.commons扩展1.Gson的使用Gson是google的一个工具类,主要是利用其处理json数据。功能类似于jackson、fastjson等使用Gson需要导入mavne依赖,如下:<!-- https://mvnrepository.com/artifact/原创 2021-05-26 19:44:24 · 1125 阅读 · 2 评论 -
Java获取Timestamp类的方式的方式
Java中获取Timestamp类的方式的方式//系统类的函数获取Timestamp time1 = new Timestamp(System.currentTimeMillis()); //通过Date类对象获取 Timestamp time2 = new Timestamp(new Date().getTime()); //通过Calendar类获取Timestamp time3 = new Timestamp(Calendar.getInstance().getTimeInM原创 2021-05-19 19:07:02 · 4375 阅读 · 0 评论 -
Java中抽象类实现接口
抽象类Java中的抽象类主要是作为一个公共父类的作用,它可以抽象出用来描述一种类型应该具备的基本特征与功能,具体行为则由子类通过方法重写来完成。抽象类具有的性质类定义前需要加上abstract关键字抽象类中可以没有抽象方法抽象类中可以有非抽象方法如果一个类中有至少一个抽象方法,那么它一定是抽象类,则类名前必须加上abstract关键字,抽象方法没有方法体。抽象类无法实例化只有覆盖了抽象类中所有的抽象方法后,其子类才可以实例化。如果存留未实现的抽象方法则该子类仍为一个抽象类,无法创建对象。原创 2021-05-06 14:47:04 · 7890 阅读 · 1 评论 -
static关键字的一点点小结
概述本篇博客介绍Java类中用static关键字修饰的方法以及实例变量所具有的特点!特点1:static修饰字段与非static字段区别1.用static修饰的实例变量或者类,它们是类共同拥有的,即属于某一个类的,而不属于对象,即全局唯一,假设实例化了好几个该类的对象,那么这些对象中static修饰的字段的值是共享的,即全局唯一;2.static修饰的字段存储在固定的内存空间处;3.在分配资源方面,首先给static关键字修饰的分配存储空间,之后再给非static分配存储空间!也就是先初始化stati原创 2021-04-30 14:55:54 · 89 阅读 · 0 评论 -
@SpringBootApplication注解所扫描的包的范围+多模块微服务架构包的结构
@SpringBootApplication==@Configuration+@EnableAutoConfiguration+@ComponentScan使用了@SpringBootApplication的注解会扫描启动类所在的包及其子包!所以此处介绍一个多模块微服务架构时包的结构:1.一般情况下,启动类位于web模块中,那么一般我们会将web模块中的包目录尽量居于最外层。比如:web模块包结构:com.company.robot然后在该包下可以有其他的子包,比如config包等,但是启动类必原创 2021-04-29 15:24:14 · 651 阅读 · 0 评论 -
git使用小技巧
概述本片博客主要介绍工作中日常git使用方法!正文1.checkout 的相关操作在git中,checkout指的是切换分支或创建分支等操作!(1)创建分支:git branch <分支名>//比如:git branch dev(2)切换分支:git checkout <分支名>//比如:git checkout dev(3)创建并切换分支:git checkout -b <分支名>//比如:git checkout -b dev2.克隆原创 2021-04-26 17:13:45 · 73 阅读 · 0 评论 -
使用map对不同种类的数据进行分类
概述对于一批数据,其输入方式为List<Entity>,假设现需要根据不同的symble值(假设不同symble值的种类未知),将List<Entity>进行分类,然后以List<List<Entity>>的形式进行返回。public class Entity{ private String symble; private T data;}思路如下:public List<List<Entity>> grou原创 2021-04-14 17:40:54 · 904 阅读 · 0 评论 -
读取File或MultipartFile文本文件中的每一行数据
概述对于以文本文件读取的MultipartFile或File类型的文件,如何读取文本文件中的每一行并进行操作呢?1.对于MultipartFile文件/*GBK编码方式:BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(multipartFile.getInputStream(),"GBK"));UTF8编码方式:BufferedReader bufferedReader = new Buffere原创 2021-04-02 15:41:02 · 7941 阅读 · 5 评论 -
MultipartFile与File类互转的封装工具类
概述由于业务需要,可能有时候需要将MultipartFile与File类进行互转,下方将二者互转的方法封装为工具类。1.MultipartFile转化为File类如果只是需要将MultipartFile转化为File类的话,不需要导入相关的mavern依赖,如下所示:import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.FileItemFactory;import org.apache原创 2021-04-02 15:27:14 · 2839 阅读 · 0 评论 -
java中null字符串与字符串长度为0的区别
在java中,null字符串指的是字符串对象连内存都不占用,就如同:String str;str不指向任何对象,即不指向任何内存地址,此即为null而长度为0的字符串是存在内存空间的,如下:String s1 = new String("");//只不过此时 s1.length()==0此时的s1指向字符串""所在的内存地址空间!...原创 2021-03-27 15:25:10 · 1782 阅读 · 1 评论