自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(293)
  • 收藏
  • 关注

原创 This application requires Visual Studio 2019 X64Redistributable Please install the Redistributable 。

的时候会出现这个报错。那就在这个地址中下载。

2024-04-25 09:03:02 157

原创 Java Future 获取异常

在介绍如何获取异常之前,我们先来了解一下 Future 的基本概念。Future 是 Java 提供的一个接口,它代表一个未完成的异步任务。通过 Future,我们可以提交一个任务给线程池执行,并在需要时获取任务的结果。Future 接口定义了几个重要的方法:get():获取任务的结果,如果任务还未完成,则阻塞等待。isDone():判断任务是否已经完成。cancel():尝试取消任务的执行。

2024-04-23 09:00:03 387

原创 Java生成带数字的图片

在Java中,你可以使用java.awt和等图形库来生成带有数字的图片。下面是一个简单的示例代码,展示了如何创建并保存一张带有数字的图片。

2024-04-16 10:10:40 218

原创 如何使用try-with-resources关闭非自己创建的InputStream

这样,无论try代码块中是否发生异常,当代码块执行完毕后,autoCloseableInputStream(即原始的inputStream)都会被自动关闭。使用try-with-resources的好处是简化了资源管理,减少了因忘记关闭资源而导致的潜在问题。总结来说,不论InputStream的来源如何,只要它是可自动关闭的资源,你都可以利用try-with-resources来确保它在不再需要时被正确关闭。代码块执行完毕后,这些资源会被自动关闭,即使发生异常也是如此。语句来确保它在不再需要时被自动关闭。

2024-04-11 16:45:57 155

原创 Jquery下载静态web文件

请求一个服务器端脚本,该脚本会返回文件的下载链接或者触发文件下载操作。然后,你可以使用JavaScript来模拟点击这个链接,从而触发浏览器的下载功能。主要用于处理服务器返回的数据,而不是直接处理文件下载。方法下载ZIP文件通常不是直接的做法,因为。在jQuery中,使用。

2024-04-11 14:48:42 189

原创 获取ZIP条目的基本文件名

类来帮助你提取文件名。如果你想要获取ZIP文件中某个条目的基本文件名(例如,只获取。

2024-04-11 11:30:26 123

原创 java 读取zip文件的两种方式

以上是两种使用Java读取zip文件的不同实现方法。第一种方法使用ZipInputStream类以流的方式逐个读取zip文件中的项,可以在处理每个zip项时选择性地读取和处理其中的内容,适用于较大的zip文件。第二种方法使用ZipFile类直接获取zip文件中的项和对应的输入流,适用于较小的zip文件。根据具体需求和项目情况,可以选择适合的方法来读取zip文件。方法1:使用java.util.zip.ZipInputStream类。方法2:使用java.util.zip.ZipFile类。

2024-04-10 14:21:32 277

原创 java 读取zip文件工具类

【代码】java 读取zip文件工具类。

2024-04-10 14:19:25 78

原创 pointcut 中 this 和 target的区别

这里的“代理对象”是指Spring AOP在运行时为被代理对象(即目标对象)创建的代理实例。这里的“目标对象”是指被Spring AOP代理的实际业务对象。由于代理对象可能会实现一些额外的接口(例如,用于支持AOP的接口),所以使用。是两种用于定义切点(Pointcut)的指示符,它们的主要区别在于它们所匹配的对象类型不同。直接关注目标对象,所以它不会匹配到代理对象可能实现的额外接口中的方法。,则可能会因为代理对象实现了额外的接口而导致不期望的匹配。关注的是目标对象的类型,而不是代理对象的类型。

2024-04-09 11:09:08 412

原创 Springboot 启动报错 The bean ‘xxxx‘, defined in class path resource XXX

【代码】Springboot 启动报错 The bean ‘xxxx‘, defined in class path resource XXX。

2024-01-04 09:00:42 666

原创 解决java前台传递时间到后台相差8个小时的时区问题

用于接收 前端传的时间值自动转换 可以是Date 可以是string 注意 格式要一样 如yyyy-MM-dd HH:mm:ss。date-format指定date输出格式为yyyy-MM-dd HH:mm:ss。time-zone指定时区,解决8小时的时间差问题。用于输出的时候解析,并且设置解析时区。个人建议都加上 没毛病。

2024-01-04 08:59:29 769

原创 关于class.getClassLoader().getResourceAsStream()和class.getResourceAsStream()的用法

另外,如果你在整个工程目录下建立一个resource文件,编译之后,它会存到和yx同级的这个目录下,也就是classpath这里,如果建立的是一个test resource 那就会在这一层的上面一层中,这个等以后写了完整的程序出来,在做进一步的整理。getClassLoader是直接从classpath开始查找文件的,因此使用这个就需要定位在classpath这个位置,也就是下面目录中yx这一层。①.不加‘ / ’,直接在包的路径下开始寻找,相当于在已经写好的path前面加了一句 /包名/path。

2024-01-04 08:56:54 548

原创 @Modifying注解和@Transactional注解?

这句话的意思是,默认情况下,repository 接口中的CRUD方法都是被@Transactional注解修饰了的,对于读的操作方法,@Transactional注解的readOnly属性是被设置为true的,即只读;自动清除,即执行完语句后自动清除掉已经过期的实体,比如,我们删除了一个实体,但是在还没有执行flush操作时,这个实体还存在于实体管理器EntityManager中,但这个实体已经过期没有任何用处,直到flush操作时才会被删除掉。使用@Modifying来标注是一个更新类的自定义语句。

2024-01-04 08:53:49 849

原创 SpringData Jpa 之 修改、删除数据

3、删除数据,使用命名规则。

2024-01-04 08:52:27 745

原创 java duplicate key_Stream 操作 Duplicate key问题

开发思考:由原先的单次掉用修改为批量调用,店铺方面给的批量查询接口最大支持查询量为20条,对于多条件查询如果修改pageSize 需要多次调用,这边需要获取分销买家单进行数量计算,所以首先需要获取分销买家单数量。list的对象类型为定义的一个bo(拥有店铺id和店铺别名两个属性)最简单的方法是使用两个for循环,将bo中的店铺id和list中每个对象的店铺id 进行匹配,放入特定ordertail中。其实java8已经给我们提供了解决的方式: 方法的第三个参数体现的。多个分销单可能存在同一个供货商情况。

2024-01-04 08:51:38 412

原创 Java8 Duplicate key 异常解决

有这样两个方法,出错的地方我们是用的第一个方法,对于可能存在重复key的转换中,我们要使用第二个方法。产生这个问题的原因时我们参与转换的list中,作为key的属性有重复,没有办法确定使用哪个元素来作为。这个异常就是说,转换map的过程中,有两个key是banana的元素,不知道怎么取舍,因此产生异常。我这里使用的是两个key 相同时,保留先存进去的那个元素。相比第一个方法,主要就是我们要去。解决办法就是我们去提供这样一个策略。

2024-01-04 08:50:50 559

原创 使用 SpringSecurity 发送POST请求出现 403

这个时候就有新的问题出现, "/activiti/definition/readResource"已经是允许匿名访问了,但是在登录状态下访问还是会出现403,不登陆就可以正常获取,这个情况比较奇葩,大概理解的就是这个方法是匿名访问的,你登陆就不是匿名了,所以你没有权限访问。进行了设置, 在用户请求资源时出现了403错误 , 通过检查代码发现请求权限是开放的, 并且切换成 GET 请求也是可以通过, 换成POST 请求就无法通过。在使用 SpringSecurity 时对一些。

2024-01-04 08:49:25 887 1

原创 IDEA中自动导包及快捷键

java区域有两个关键选项。Alt+Enter手动导入。

2024-01-04 08:48:34 1268 1

原创 SpringSecurity Oauth2 解决 The bean ‘metaDataSourceAdvisor‘, defined in null, could not be registered.

【代码】SpringSecurity Oauth2 解决 The bean ‘metaDataSourceAdvisor‘, defined in null, could not be registered.

2024-01-04 08:47:02 358

原创 spring-boot-maven插件repackage(goal)的那些事

classes目录下存放的是项目CLASS_PATH下的内容,包括应用代码和配置文件(比如application.yml等),可以理解为repackage将原始Maven打包的jar文件中的除META-INF以外的内容放置到该目录下打包。可以发现使用spring-boot-maven-plugin插件的比没有使用的场景,多了一个以.original结尾的文件,且该文件的大小与没使用spring-boot-maven插件打包的jar文件大小一样。-plugin来增加Maven功能,在我的上一篇博客。

2024-01-04 08:46:04 912

原创 springboot项目 java -jar xxx.jar 没有主清单属性解决方法

如果上述配置不能成功 请参考下面配置。1.在pom文件中添加如下。

2024-01-04 08:45:01 916

原创 Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found

idea自动找的插件版本是其他版本的,和自己设置的不同,导致idea在本地maven仓库查找不到对应的插件版本。给spring-boot-maven-plugin指定版本。

2024-01-04 08:43:55 625

原创 Spring事务传播问题 — PROPAGATION_REQUIRES_NEW

仔细查看了日志,没有找到类似creating new transaction的输出,应该是因为在同一个Service类中,spring并不重新创建新事务,如果是两不同的Service,就会创建新事务了。1、当ServiceA.a()方法调用ServiceB.b()方法时,内层事务提交和回滚,都不受外层事务提交或回滚的影响。2、当ServiceA.a()方法调用ServiceA.c()方法时,内层事务不能正确地提交或回滚。内层Service的方法被调用时,外层方法的事务被挂起;

2024-01-04 08:42:07 471

原创 java中查看一个对象占多少字节工具_必知必会的JVM工具系列一,读懂会用jps、jstat、jinfo、jmap...

很多资料在介绍JDK命令行工具时并不是在Java8环境下,因此还在使用过时的永久区系列的参数,给一些读者造成困难。Java8使用Metaspace(元空间)代替永久区,对于64位平台,为了压缩JVM对象中的_klass指针的大小,引入了类指针压缩空间(Compressed Class Pointer Space)。1. JDK命令行工具在JDK的开发包中,除了大家熟知的java.exe和javac.exe外,还有一系列辅助工具。这些工具在JDk安装目录下的bin目录中。

2024-01-04 08:40:40 885

原创 Spring AOP 切面@Around注解的具体使用

需要说明的是,在以下例子中,我们即可以只用@Around注解,并设置条件,见方法run1();也可以用@Pointcut和@Around联合注解,见方法pointCut2()和run2(),这2种用法是等价的。如果我们还想利用其进行参数的修改,则调用时必须用joinPoint.proceed(Object[] args)方法,将修改后的参数进行回传。比如我们想在执行controller中方法前打印出请求参数,并在方法执行结束后来打印出响应值,这个时候,我们就可以借助于@Around注解来实现;

2024-01-03 14:07:58 712

原创 java.util.regex.PatternSyntaxException: Illegal repetition {

参数传递问题,replaceAll(String。

2024-01-03 14:06:35 467

原创 AOP获取方法返回值

Before表示方法请求前执行,@After表示方法请求后执行,一般做记录的时候会使用@After比较多。但是有时候我们需要获取方法的返回值做判断该如何处理呢?首先,我们看@After的注解源码。可以看到@After注解并不能获取到方法的返回值。这个时候我们需要的是@AfterReturning。切面做日志收集或者记录的时候,在springboot中用@Aspect注解。这样就可以获取返回值,然后根据返回值做罗辑处理了。returning表示的就是返回值。我们用Spring的。

2024-01-03 14:05:43 630

原创 转JSON提示No serializer found for class

在调用Json串生成方法时,提示: No serializer found for class com.jeremxy.domain.EpgDetail and no。网上搜索了一般之后,才知道原来如果需要将某个类转成Json串的话,那么必须要求其属性为public,或者提供public的**get()**方法。转载于:https://www.cnblogs.com/game-life/p/4371894.html。

2024-01-03 14:04:13 412

原创 Java---- 静态内部类与非静态内部类的区别

1.是否能拥有静态成员静态内部类可以有静态成员(方法,属性),而非静态内部类则不能有静态成员(方法,属性)。2.访问外部类的成员静态内部类只能够访问外部类的静态成员,而非静态内部类则可以访问外部类的所有成员(方法,属性)。3.静态内部类和非静态内部类在创建时有区别//假设类A有静态内部类B和非静态内部类C,创建B和C的区别为:1234。

2024-01-03 14:02:45 407

原创 参数json序列化报错: (no Creators, like default construct, exist): cannot deserialize from Object value (no

使用jackson对json字符串转对象时报错。通过分析应该时construct构造函数出问题了。

2024-01-03 13:58:36 904

原创 【无标题】idea的lombok插件支持@SuperBuilder注解啦

今早进公司打开idea,弹出更新提示,简单看了下,原来是idea的lombok插件更新了,惊喜的发现update log上写着。为什么说是惊喜呢?因为之前也有用到这个的场景,去官网认认真真看完了的用法以及描述,刚准备大展拳脚,结果发现idea上怎么写都识别不出来,后来去插件的github上看了一下,在issue中发现很多请求插件更新支持注解,而插件作者大概的回复就是已经在开发计划中了,不要催,催也不能提高进度。不得已,在自己的项目中只能冗余一些代码,而不能基于lombok更加优雅简洁的去写。

2024-01-03 13:57:33 1198

原创 Caused by: java.lang.ClassNotFoundException: org.springframework.security.jwt.crypto.sign.MacSigner

【代码】Caused by: java.lang.ClassNotFoundException: org.springframework.security.jwt.crypto.sign.MacSigner。

2024-01-03 13:54:30 433

原创 IDEA+SpringBoot项目下静态资源访问路径陷阱:静态资源访问404

然后再在浏览器访问localhost:8080/,由于是修改静态资源文件,所以不用重启springboot项目。然后启动项目,在浏览器输入localhost:8080/,index.html页面是访问到了,但是图片访问不到。这个路径如果是使用SSM框架,那一定会报404错误,但是在SpringBoot项目中却是访问成功。这个路径如果是使用SSM框架,那一定会访问成功,但是在SpringBoot项目中却是访问不成功。SpringBoot项目在启动的时候会去查找——/templates/index.html,

2024-01-03 13:52:40 901 1

原创 下载文件并保存在服务器上时,最好使用当前操作系统的分隔符 获取方法:private String sepa = java.io.File.separator;

获取方法:private String sepa = java.io.File.separator;下载文件并保存在服务器上时,最好使用当前操作系统的分隔符。

2024-01-03 13:51:47 361

原创 Java程序设计基础——cmd编译运行java文件详细步骤

命令,按Enter键,启动Java虚拟机运行程序。Java虚拟机首先将编译好的字节码文件加载到内存,这个过程被称为类加载,它是由类加载器完成的,然后虚拟机针对加载到内存中的Java类进行解释执行,便可看到运行结果。当我们切换到盘符下面执行HelloWorld的时候,会立即在计算机的内存里面创建一个JVM,再把HelloWorld.class这个文件调到JVM中。,是因为之前用另一个JDK编译过了,此时变了版本,之前生成的.class还是之前版本的,所以有冲突,需要将之前的.class文件全部删除。

2024-01-03 13:51:01 478

原创 Request请求转发和Response重定向

(“path”).forword(request,response).将request和response作为参数放到forword()方法中。我们要在请求的路径文件中调用getAttaribute(“名称”),会返回一个对象我们就得到了请求转发的内容。302,要调用setStatus(302)方法,接着要设置响应头setHeader(“Location”,“/虚拟路径/path”)就完成了重定向过程。但有一种简化的方式是调用sendRedirect(”/虚拟路径/path“),完成的是一样的功能。

2024-01-03 13:49:56 345

原创 java 获取 request

这种方式在项目任何地方都可以拿到,只要Request已经注入。

2024-01-03 13:49:12 344

原创 解决 java “错误:编码GBK 的不可映射字符”

在UTF-8里,英文字符仍然跟ASCII编码一样,因此原先的函数库可以继续使用。而中文的编码范围是在0080-07FF之间,因此是2个字节表示(但这两个字节和GB编码的两个字节是不同的),用专门的Unicode处理类可以对UTF编码进行处理。UTF-8:通用字集转换格式,这是为传输而设计的编码,2进制,以8位为单元对Unicode进行编码,如果使用只能在同类位元组内支持8个位元的重要资料一类的旧式传输媒体,可选择UTF-8格式。通过DOS编译 提示 错误:编码GBK的不可映射字符。

2024-01-03 13:48:13 349

原创 javac “错误:编码GBK 的不可映射字符”

在UTF-8里,英文字符仍然跟ASCII编码一样,因此原先的函数库可以继续使用。而中文的编码范围是在0080-07FF之间,因此是2个字节表示(但这两个字节和GB编码的两个字节是不同的),用专门的Unicode处理类可以对UTF编码进行处理。UTF-8:通用字集转换格式,这是为传输而设计的编码,2进制,以8位为单元对Unicode进行编码,如果使用只能在同类位元组内支持8个位元的重要资料一类的旧式传输媒体,可选择UTF-8格式。通过DOS编译 提示 错误:编码GBK的不可映射字符。推荐使用第一种方法,在。

2024-01-03 13:46:20 468

原创 IDEA错误: 找不到或无法加载主类 com.atguigu.springcloud.EurekaServer7001_App

【代码】IDEA错误: 找不到或无法加载主类 com.atguigu.springcloud.EurekaServer7001_App。

2024-01-01 14:16:12 1003

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除