SpringBoot项目中使用lombok后起动报错: java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid' 解决办法: 兼容性问题,使用1.8.24以后的版本即可,有时候项目的pom中并没有指定lombok的版本,改成如下: <dependency> <g…

2024-10-02 0条评论 14点热度 0人点赞 admin 阅读全文

Java或者SpringBoot程序启动的时候,需要export LD_LIBRARY_PATH,还需要使用参数:-Djava.library.path export LD_LIBRARY_PATH="/path/to/library" java -Djava.library.path=/path/to/library some_jar.jar Linux环境下,加载so库的Java代码: System.loadLibrary("libname"); 以上代码中注意libname是库的名字,如果文件是libopen…

2024-07-03 0条评论 199点热度 0人点赞 admin 阅读全文

有时候在Controller中要redirect跳转到某一个地址,例如: @RequestMapping(value = "/somepath") public String somePath(HttpSession session) { User user = (User) session.getAttribute("user"); if (user != null) { return "someView"; } return "redirect:/login"; } // or @RequestMapping(…

2023-08-05 0条评论 276点热度 0人点赞 admin 阅读全文

IDEA下maven项目打包SpringBoot应用程序,出现如下错误: org/springframework/boot/maven/RepackageMojo has been compiled by a more recent version of the Java Runtime (class file version 61.0), 查的解决办法,记录如下,供参考 修改pom.xml,相关注意点如下: <build> <plugins> <plugin> <grou…

2023-06-11 0条评论 427点热度 0人点赞 admin 阅读全文

默认情况下SpringBoot的stringRedisTempalte只能存string,redisTemplate如果存入bytes也会报错,是因为找不到相应的ValueSerializer,或者用默认的StringRedisSerializer来序列化,导致bytes无法转成String而报错。 我们可以在Redis的配置文件下,指定相应的ValueSerializer。 RedisConfiguration.java的配置如下: import org.springframework.context.annot…

2023-03-08 0条评论 942点热度 0人点赞 admin 阅读全文

简单使用 Java API规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernate validation是对这个规范的实现,并增加了校验注解如@Email、@Length等。Spring Validation是对hibernate validation的二次封装,用于支持spring mvc参数自动校验。接下来,我们以spring-boot项目为例,介绍Spring Validation的使用。 引入依赖 如果spring-boot版本小于2.3.x,spring…

2022-12-30 0条评论 591点热度 0人点赞 admin 阅读全文

我们平时开发项目的时候,经常会需要远程调用下其他服务提供的接口,于是我们会使用一些HTTP工具类比如Hutool提供的HttpUtil。前不久SpringBoot 3.0发布了,出了一个Http Interface的新特性,它允许我们使用声明式服务调用的方式来调用远程接口,今天我们就来聊聊它的使用! 简介 Http Interface让你可以像定义Java接口那样定义HTTP服务,而且用法和你平时写Controller中方法完全一致。它会为这些HTTP服务接口自动生成代理实现类,底层是基于Webflux的WebCl…

2022-12-27 0条评论 1021点热度 0人点赞 admin 阅读全文

发布订阅模式简介 发布订阅模式在我们日常的开发工作中算是比较常用的一种方式,发布订阅模式有可以被称为观察者模式,它定义的是一种一对多的关系模式,可以让多个订阅者同时监听到同一个发布者的消息,这个发布者又被称为是主题对象。然后通过发布者发布的消息,来通知观察者能够实时的更新自己获取到的消息内容。 有人说发布订阅模式与观察者模式是有区别的,这里我们先不对两者做展开的讨论,在后面我们会介绍相关的内容。这里我们首先来看发布订阅模式,如下图所示。 如图所示,在发布订阅模式中有两个关键性的节点,发布者与订阅者。我们可以将发布者…

2022-12-21 0条评论 741点热度 0人点赞 admin 阅读全文

1. 前景 在使用Springboot时,通常很多信息都是在application.yml中直接明文配置的,比如数据库链接信息,redis链接信息等等。有些公司的场景可能需要对配置文件进行加密,防止部署操作人员接触数据句的重要信息,所以需要对敏感数据进行加密。 Jasypt这个库为我们解决了这个问题,实现了springboot配置的自定义加密加密。 2. 开源项目介绍 https://github.com/ulisesbocchio/jasypt-spring-boot 2.1 引入依赖 <propertie…

2022-12-09 0条评论 1724点热度 0人点赞 admin 阅读全文

Spring Boot是支持发布jar包和war的,但它推荐的是使用jar形式发布。使用jar包比较方便,但如果是频繁修改更新的项目,需要打补丁包,那这么大的jar包上传都是问题,另外还有可能需要将应用部署到Tomcat下运行。所以,jar包不一定合适适用所有的场景,如war包更合适,你可以尝试转为传统的war包,这样打补丁包可能更方便。 如何配置打war包呢? 以下配置以Maven为说明讲解,Gradle的查看类似配置。 1、修改Spring Boot启动类 启动类继承 SpringBootServletInit…

2022-11-30 0条评论 750点热度 0人点赞 admin 阅读全文
123458