自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java异步注解@Async不生效的解决方案

但有时我们发现方法仍在主线程中执行,这就是异步注解没有生效,这种情况通常是Spring容器没有正确识别并管理异步方法的问题。如果异步方法和被调用的时候是在同一个类中执行,那么就可能会失效,这是因为Spring Aop的特性,在同一个类调用异步方法会绕过代理对象,从而不会触发异步执行。首先确保spring的配置类上加上此注解,以启动异步操作功能,这样spring容器才能正确识别并管理@Async注解标识的方法的执行。解决这个问题的办法就是通过代理对象来调用异步方法,而不是直接调用异步方法本身。

2024-04-11 15:57:16 515 2

原创 SLF4J: Class path contains multiple SLF4J bindings.

SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/C:/Users/ZGM/.m2/repository/org/slf4j/slf4j-nop/1.7.30/slf4j-nop-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: Found binding in [jar:file:/C:/Users/ZGM/.m2

2023-11-21 17:25:07 209

原创 Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test)

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project jasypt: There are test failures.

2023-11-21 17:08:24 189

原创 Postgresql常用命令函数

postgresql常用命令函数

2023-11-21 16:21:11 543

原创 Redisson实现分布式锁示例

Redisson实现分布式锁示例

2023-08-18 16:13:18 498

原创 IDEA中默认常用快捷键

IDEA默认常用快捷键

2023-01-09 17:24:20 389 1

原创 JPA复杂查询or和and连用代码示例(二)

1、先封装and条件2、再封装or条件3、最后把and和or条件拼接在一起并返回4、成品就是这样子的虽然代码多了一点,但结构和思路十分清晰。

2022-09-16 15:39:18 1463

原创 JPA查询数据,报错Page 1 of 0 containing UNKNOWN instances

JPA查询数据,报错Page 1 of 0 containing UNKNOWN instances

2022-09-16 11:57:55 2005

原创 JPA复杂查询or和and连用代码示例(一)

JPA复杂查询or和and连用代码示例(一)

2022-09-15 14:36:18 1387

原创 浅谈LinkedBlockingQueue的实际应用,附录代码

LinkedBlockingQueue的实际简单应用及代码示例

2022-09-14 17:23:00 331

原创 java操作文件流(附录源码示例)

一般的来说,传递到服务端的文件,我们是不需要保存的,只需要解析出里面的数据进行操作即可。比如一个.json类型的文件或者是.txt类型的文件,里面存储的内容是JSON类型的,是一个学生个人信息的一个数组,我们只需要解析出这个数组,并把它保存到数据库即可。但仅仅适用于文件,如果是压缩包的话,我们需要现在服务器保存,然后进行解压,最后在解析里面的文件,解析完成后,再把整个压缩包删除。下面这个依赖就是操作文件流常用的,引用即可。2、StudentService层。1、controller层。...

2022-08-09 10:10:48 432

原创 spring cloud 只读取文件内容但不保存文件

1:controller层2:service层3:加依赖这个包里就包含IOUtils.toString(inputStream, StandardCharsets.UTF_8.name())这个方法,用起来十分方便。我这里的情况是,前端传递过来的数据以.json文件作为参数,所以我需要读取到文件里面的数据,但没必要保存文件,所以就这样操作十分方便。...

2022-07-14 17:25:59 288

原创 java接收文件流并操作文件流

1.controller层2.service层3.postman测试这里选择你要上传的本机文件就可以了。这种方式其实就是我们先把文件流临时保存在服务器的默认目录里,等到我们用完文件后就可以把它删除了,否则会占用服务器的一些内存。......

2022-07-14 16:47:25 7809

原创 spring security登陆验证(方式2)

基于springsession存储token并将token放置在header中1、加依赖2、写配置文件3、调试结果

2022-07-12 14:40:52 592

原创 spring security登录验证(方式一)

直接写死用户名和密码,也不需要创建用户表调用结果点击下面的cookies会发现,token默认存到了浏览器的缓存里。这种方式比较简单,适合一个项目需要一个登录入口,但用户不能创建账号,只能有开发人员决定用户的信息,一个或者几个用户信息直接写死正在程序里。...

2022-07-12 11:47:47 921

原创 spring-cloud微服务 feign调用 本地调试问题

查看@FeignClient注解 自己支持指定服务的url来指定调用哪台provider 相似于加上url参数 url值为你本地(或者须要调试的服务机器)的地址+端口号 这样你再本地maven install一下 调用方的jar变了 就能够本地调试啦,...

2022-06-24 17:09:22 1351

原创 ErrorController 与 ZuulFallbackProvider的区别?

ErrorController和FallbackProvider区别

2022-06-24 10:05:00 91

原创 nacos心跳检测获取服务列表

1、服务停止运行了,心跳检测就获取不到服务列表,请求转发是就会报系统异常,因为找不到这个路径。2、多节点的情况下,下线某个服务,心跳检测可以获取到服务列表,但不会进行请求转发。...

2022-06-23 17:37:19 1230

原创 zuul + ratelimit网关做限流(附录核心代码)

1、导入依赖zuul.pom如果不加hibernate的依赖,会报错2、zuul.yml3、分别启动zuul和user服务,然后连续调user服务下的接口,第三次的时候会出现这个页面4、上面的提示不太友好,怎们可以改写一下,网关里写一个控制器ErrorController.java再次连续访问user服务里的接口,就会变成这样,自定义的返回结果样式可以自己修改这里指定user服务下的限流策略是通过url的方式,就是在刷新时间内,调用user服务下接口的总次数,即使是多节点的,也是一样。.

2022-06-23 17:26:21 400

原创 Postgresql设置主键自增

1、创建一个序列2、打开navicat,找到表,右键点击选择设计表,将主键的默认值设置为这里我的序列名是product_id。3、打开表新增数据,主键就自动从1开始递增了

2022-06-23 15:49:33 7943 3

原创 java中多个⽤户调⽤同⼀个⽅法程序的处理过程以及并发问题

java中多个⽤户调⽤同⼀个⽅法程序的处理过程以及并发问题

2022-06-21 11:51:30 290

原创 spring cloud alibaba + zuul + nacos + ribbon + hystrix (附录核心代码)

1、网关服务加入依赖2、ZuulApplication.java3.zuul服务的配置文件因为zuul本身就集成了hystrix和ribbon,所以我们写一下配置文件就可以直接用了,十分方便。4、熔断回滚处理ClientFallbackProvider.java5、User服务在两个端口号启动,验证负载均衡和熔断处理5.1、nacos的某个命名空间下,新建userServices.yml文件5.2、在两个端口号上启动User服务5.2.1、服务的配置文件,bootstrap-zgm.yml

2022-06-20 17:24:53 474 1

原创 Java接收参数,以及用PostMan如何调用的问题

1:Query.java2:控制层Controller注意这里请求参数如果没加注解@RequestBody,那PostMan调用或者像这里,我传了两个值,也可以传一个请求参数如果加注解@RequestBody,那PostMan调用一般来说,在服务端像这种List类型参数或者参数太多的话,都建议使用Json接收参数,不建议使用form-data或者x-www-form-urlencoded.也就是说,服务端接收接收的参数是个类,那就尽量加@RequestBody,这样规范些!!!

2022-06-02 17:16:07 2278

原创 关于对第三方调用接口结果的封装(服务端)

第三方接口返回结果示例如下:{ "code": 200, "message": "OK", "data": { "name" : "张三", "age" : 21, "profession" : "计算机专业"}

2022-05-16 15:36:17 947

原创 Postgresql设置主键递增

1:创建表create table test_c ( id integer PRIMARY KEY, name character varying(128)); 2:创建序列并设置规则CREATE SEQUENCE test_c_id_seq START WITH 1 //从1开始 INCREMENT BY 1 //每次递增1 NO MINVALUE //无最小值 NO MAXVALUE //无最大值 CACHE 1;

2022-04-22 11:34:27 1106

原创 关于@Valid使用过程中踩到的坑

1:依赖引入引入: <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> </dependency>或者引入: <dependency> <groupId>org

2022-04-12 17:52:31 1055

原创 Postgresql创建账号及删除账号详细命令

1: 首先要判断当前的账号是否为root账号,也就是本机电脑或者服务器安装数据库时设置的账号。如果不确定的话,可以采用一下方法,以idea开发工具为例:用idea连接好数据库后,如下图,zgm是数据库,schemas目录下有三种模式,那就是root账号,如果只有public模式,那就是非root账号。2:创建账号,无论当前账号是否为root账号,在它下面创建只读账号的命令都是一样的创建账号create user 用户名 password '密码';一般新创建的子账号的权限建议设置为只读权限

2022-02-23 11:27:57 11791

原创 Nacos配置文件如何存放数组并读取

1:配置文件里存数据2. 项目里新建一个AppConfig文件@Configurationpublic class AppConfig { //name是bean的名字,在其他文件引入时用 @Bean(name = "settings") //prefix = "settings"是配置文件的前缀 @ConfigurationProperties(prefix = "settings") Map<String, SettingItem> setti

2022-02-18 16:20:14 3622

原创 数据库保存数据,类型为List<Double>

数据库保存数据,类型为List<String> ,字段只需设置为varchar[],然后导入下述类,并在实体类的对应字段位置加上@Type(type = "XX.ListToArrayUserType"),这里写保存工具类的包路径import com.google.common.base.Strings;import org.hibernate.HibernateException;import org.hibernate.engine.spi.SharedSessionContract

2022-02-16 15:34:14 1268

原创 如何判断自己写的sql是否存在注入的安全隐患

如果你使用的是框架方式写的sql,就没问题,比如JPA支持@Query查询,UserInfoRepository/** * @Author ZGM * @DateTime 2022/1/24 * @description */@Repositorypublic interface UserInfoRepository extends JpaRepository<UserInfo, Long>, JpaSpecificationExecutor<UserInfo> {

2022-01-27 17:19:04 1114

原创 Jpa动态查询新方式,超级简单(附录源码)

1:项目结构图2:TUser.java/** * @Author ZGM * @DateTime 2021/12/31 * @description */@Data@Entity@Table(name = "t_user")@AllArgsConstructor@NoArgsConstructor@DynamicUpdate@DynamicInsertpublic class TUser { @Id @JsonSerialize(using = ToString

2022-01-26 16:55:21 1418

原创 微服务架构搭建

1:项目结构common: 放一些公共资源,比如生成主键id的方法,异常处理类等公用静态资源common-dependencies:只引入maven 依赖坐标,用作依赖的版本控制productservice:实际业务userservice:实际业务在实际业务模块的父依赖不在是spring boot start web,而是common-dependencies,初次之外还需引入common的jar包的坐标这就是userservice的父依赖这就是userservice引入common的j

2022-01-25 16:26:48 342

原创 spring 启动报错:org.postgresql.jdbc.PgConnection.createClob() 方法尚未被实作。

该错误并不影响项目里其他接口的调用,仅仅是启动时控制台会打印出来,看起来不舒服。2022-01-25 15:53:40.718 WARN 8060 --- [ task-1] com.zaxxer.hikari.pool.ProxyConnection : HikariPool-1 - Connection org.postgresql.jdbc.PgConnection@1b707bb8 marked as broken because of SQLSTATE(0A000), Er

2022-01-25 16:09:33 3080

原创 JPA @Query动态添加参数查询(超级详细,附代码)

1:新建实体类@Data@Entity@Table(name = "student")@DynamicUpdate@DynamicInsertpublic class Student { @Id @JsonSerialize(using = ToStringSerializer.class) @Column(name = "id") private Long id; @Column(name = "name") private String name; @Column(nam

2022-01-19 17:20:13 7248 1

原创 数据库保存数据,类型为List<String>

下面展示一些 内联代码片。数据库保存数据,类型为List<String> ,字段只需设置为varchar[],然后导入下述类,并在实体类的对应字段位置加上@Type(type = "XX.ListToStringArrayUserType"),这里写保存工具类的包路径/** * @Author ZGM * @DateTime 2021/8/26 * @description */public class ListToStringArrayUserType implements U

2022-01-17 14:30:40 4017

原创 JSONObject.toJSONString()转换对象的用法

该对象的所有参数必须有对应的get 和 set 方法,否则序列化的结果为空。

2022-01-06 11:58:48 3821

原创 数据库已经设置默认值,但JPA保存数据报错

数据库里的字段为char或者为varchar时,默认值要加单引号(英文),如果是int4,直接写数字即可,但注意不要超过精度;那为何JPA保存会报错????原因:实体类需要加上@DynamicUpdate@DynamicInsert这两个注解,缺一个都不行,加上后就可以正常保存数据了...

2021-12-20 17:41:19 832

原创 动态读取nacos配置文件内容

1:@Value("test.name")比如通过此注解可读取到配置文件里的test.name值,如果我们没改动项目代码,仅仅改动nacos里的参数值,一般不会重新部署项目,那么此注解读取道德仍然是未改动前的值,除非重新部署2:如何解决上述问题?在我们以后新加接口时,凡是用到@Value("{test.name}")比如通过此注解可读取到配置文件里的test.name值,如果我们没改动项目代码,仅仅改动nacos里的参数值,一般不会重新部署项目,那么此注解读取道德仍然是未改动前的值,除非重新部署2:如何

2021-12-16 16:57:11 1216

原创 git 命令解决合并分支时发生冲突的问题

1:git status 查看上次改动的有哪些文件2:git merge --abort 取消本次合并,并回复至未合并前的状态3:git status 查看上次改动的有哪些文件(再次查看文件是否丢失)4:git reset --hard XX分支,就解决了冲突并且能完成分支合并5:git status 再次查看,文件已全部提交,工作区为空...

2021-12-14 11:22:25 277

原创 关于前端以post 或 get 方式传参以及后端如何接收对应参数的几种形式

1:前端调用接口地址 this.http.get(′/api/user/detail′,params:id)后端接收到的请求就是http://localhost:8080/api/user/detail?id=1@GetMapping(value="/detail")publicResp<Object>detail(@RequestParamLongid)returnResp.success(myUserService.detail(id));2:constid=1前端调用接口地址this.ht

2021-12-03 14:59:11 5484

空空如也

空空如也

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

TA关注的人

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