- 博客(16)
- 收藏
- 关注
原创 返璞归真, 如何用cmd窗口运行有jar包依赖的main方法
总结: 在Windows中使用命令提示符编译具有Jar依赖关系的Java文件,需要先安装JDK并设置环境变量,然后使用。命令运行编译后的Java程序,同样需要指定所有的Jar文件路径。参数指定所有的Jar文件路径。1. 这里jar包和主类在同一文件夹下面,(其实不加句号也可以), 不然会。命令编译Java源代码文件,并通过。替换为实际的Jar文件路径。替换为实际的Jar文件路径,
2025-01-15 15:45:44
278
转载 fastjson SerializerFeature 序列化策略
很多场景中,我们需要序列化的对象中存在循环引用,在许多的json库中,这会导致stackoverflow。在功能强大的fastjson中,你不需要担心这个问题。fastjson要将enum序列化为ordinal只需要禁止WriteEnumUsingName feature。首先根据默认的features排除WriteEnumUsingName,然后使用新的features序列化即可。当进行toJSONString的时候,默认如果重用对象的话,会使用引用的方式进行引用对象。引用是通过"$ref"来表示的。
2024-04-03 09:54:07
316
1
转载 Maven常见命令使用
使用场景:基础的common模块变更了,通过该命令将依赖common的其他模块也进行重新mvn clean install操作。说明:对父工程P、子模块C、以及子模块C依赖的B、A模块执行mvn clean install操作,涉及到的P、A、B、C模块全部install到本地。打开IDEA的Terminal命令窗口,默认是打开当前项目的根目录,可以直接执行mvn命令。在自动化构建时,通常会用到该组命令,对于基础板块可将install命令换成deploy命令,发布到私服中。双击对应的命令即可执行。
2023-12-27 17:24:09
374
1
转载 浅谈Java泛型中的extends和super关键字
extends X>这种形式的时候,调用List的add方法会导致编译失败,因为我们在创建具体实例的时候,可能是使用了X也可能使用了X的子类,而这个信息编译器是没有办法知道的,同时,对于ArrayList来说,只能放一种类型的对象。而对于get方法来说,由于我们是通过X或者X的子类来创建实例的,而用超类来引用子类在Java中是合法的,所以,通过get方法能够拿到一个X类型的引用,当然这个引用可以指向X也可以指向X的任何子类。如果类型B是类型A的超类型(父类型),那么C 是 C
2023-06-16 14:04:45
1559
转载 Springboot 关于日期时间格式化处理方式总结
实现 org.springframework.core.convert.converter.Converter,自定义参数转换器,如下:java@Bean@Override@Bean@Override点评:以上两个bean会注入到spring mvc的参数解析器(好像叫做),当传入的字符串要转为LocalDateTime类时,spring会调用该Converter对这个入参进行转换。关于自定义的参数转换器 Converter,这里我遇到了一个坑,我再这里详细记录下。
2023-04-25 14:24:16
1997
转载 MyBatis 处理 MySQL 时间类型 date 、datetime、timestamp
Java中有两个Date类,一个是java.util.Date,通常情况下用它获取当前时间,另一个是java.sql.Date,是针对SQL语句使用的,它只包含日期而没有时间部分。两个类型的时间可以相互转化。当我们使用java.util.Date作为实体的日期类型时,实际上是能够表示MySQL的三种字段类型:(1)date。
2023-04-25 10:57:27
8743
转载 @Async注解的坑,小心
早期暴露出去的对象,可能是AService本身或者是AService的代理对象,而且是通过AnnotationAwareAspectJAutoProxyCreator对象实现的,但是通过AsyncAnnotationBeanPostProcessor的回调,会对AService对象进行动态代理,这就导致AService早期暴露出去的对象跟最后完全创造出来的对象不是同一个,那么肯定就不对了。也就说,AOP和@Async注解虽然底层都是动态代理,但是具体实现的类是不一样的。不错,还真的不太一样,请继续往下看。
2023-04-07 18:04:10
105
原创 mybatis使用<choose> <when>
choose标签是按顺序判断其内部when标签中的test条件出否成立,如果有一个成立,则 choose 结束。 //如果除了以上条件外还有判断的条件,放在chose标签外,不用再写where。 //如果除了以上条件外还有判断的条件,放在chose标签外,不用再写where。所以需要在where条件语句中进行判断,当type == x1 时和type == x2时where中的判断条件不同。
2023-03-20 16:34:37
1478
原创 XXL-JOB分布式定时任务
xxl-job分布式定时任务分为两个部分:调度中心和执行器;调度中心通过Web页面对任务进行CRUD操作,统一管理任务调度平台上调度任务,负责触发调度执行。执行器是要处理的任务下面看一下怎么使用xxl-job分布式定时任务。
2023-03-13 15:25:37
645
原创 双亲委派模型
类加载器从 JDK 1.0 就出现了,最初只是为了满足 Java Applet(已经被淘汰) 的需要。后来,慢慢成为 Java 程序中的一个重要组成部分,赋予了 Java 类可以被动态加载到 JVM 中并执行的能力。根据官方 API 文档的介绍:翻译过来大概的意思是:类加载器是一个负责加载类的对象。是一个抽象类。给定类的二进制名称,类加载器应尝试定位或生成构成类定义的数据。典型的策略是将名称转换为文件名,然后从文件系统中读取该名称的“类文件”。每个 Java 类都有一个引用指向加载它的。
2023-03-02 14:25:41
91
原创 nohup命令
tailf 等同于tail -f -n 10(貌似tail -f或-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电。nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。配合-f参数,可以实时监视向日志文件增加的信息。
2023-02-21 14:48:32
2966
原创 两个FeignClient接口使用相同服务名报错问题
该方法的入参client其实就是@FeignClient注解中的参数,方法先判断contextId是否为空,如果不为空就用contextId作为name,否则就使用value作为bean名称, value值也就是base-data,所以两个类使用相同的服务名但是不指定contextId,就会出现BeanDefinitionOverrideException 异常。分好之后就需要进行开发调试,在启动项目的过程中出现异常导致项目无法正常启动,异常信息如下。在异常地方打个断点通过控制台查看方法调用栈。
2023-02-03 18:14:05
1338
原创 mybatis 根据多个id查询数据 foreach标签
如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可以封装成map,实际上如果你在传入参数的时候,在MyBatis里面也是会把它封装成一个Map的,map的key就是参数名,所以这个时候collection属性值就是传入的List或array对象在自己封装的map里面的key.如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array .如果传入的是单参数且参数类型是一个List的时候,collection属性值为list .
2023-01-19 14:42:03
1379
转载 springboot自定义Enable注解使非启动类包路径的注解被扫描到
三、把新建的maven工程deploy到私服,在springboot项目的启动类或能被springboot扫描到的配置类上面加上@EnableMyProject注解,com.myproject.www.**下的带注解的都能被扫描到。
2023-01-17 11:41:57
368
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人