- 博客(42)
- 收藏
- 关注
原创 Java异步注解@Async不生效的解决方案
但有时我们发现方法仍在主线程中执行,这就是异步注解没有生效,这种情况通常是Spring容器没有正确识别并管理异步方法的问题。如果异步方法和被调用的时候是在同一个类中执行,那么就可能会失效,这是因为Spring Aop的特性,在同一个类调用异步方法会绕过代理对象,从而不会触发异步执行。首先确保spring的配置类上加上此注解,以启动异步操作功能,这样spring容器才能正确识别并管理@Async注解标识的方法的执行。解决这个问题的办法就是通过代理对象来调用异步方法,而不是直接调用异步方法本身。
2024-04-11 15:57:16
1065
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
449
原创 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
281
原创 JPA复杂查询or和and连用代码示例(二)
1、先封装and条件2、再封装or条件3、最后把and和or条件拼接在一起并返回4、成品就是这样子的虽然代码多了一点,但结构和思路十分清晰。
2022-09-16 15:39:18
1724
原创 JPA查询数据,报错Page 1 of 0 containing UNKNOWN instances
JPA查询数据,报错Page 1 of 0 containing UNKNOWN instances
2022-09-16 11:57:55
2188
原创 java操作文件流(附录源码示例)
一般的来说,传递到服务端的文件,我们是不需要保存的,只需要解析出里面的数据进行操作即可。比如一个.json类型的文件或者是.txt类型的文件,里面存储的内容是JSON类型的,是一个学生个人信息的一个数组,我们只需要解析出这个数组,并把它保存到数据库即可。但仅仅适用于文件,如果是压缩包的话,我们需要现在服务器保存,然后进行解压,最后在解析里面的文件,解析完成后,再把整个压缩包删除。下面这个依赖就是操作文件流常用的,引用即可。2、StudentService层。1、controller层。...
2022-08-09 10:10:48
466
原创 spring cloud 只读取文件内容但不保存文件
1:controller层2:service层3:加依赖这个包里就包含IOUtils.toString(inputStream, StandardCharsets.UTF_8.name())这个方法,用起来十分方便。我这里的情况是,前端传递过来的数据以.json文件作为参数,所以我需要读取到文件里面的数据,但没必要保存文件,所以就这样操作十分方便。...
2022-07-14 17:25:59
335
原创 java接收文件流并操作文件流
1.controller层2.service层3.postman测试这里选择你要上传的本机文件就可以了。这种方式其实就是我们先把文件流临时保存在服务器的默认目录里,等到我们用完文件后就可以把它删除了,否则会占用服务器的一些内存。......
2022-07-14 16:47:25
8118
原创 spring security登陆验证(方式2)
基于springsession存储token并将token放置在header中1、加依赖2、写配置文件3、调试结果
2022-07-12 14:40:52
667
原创 spring security登录验证(方式一)
直接写死用户名和密码,也不需要创建用户表调用结果点击下面的cookies会发现,token默认存到了浏览器的缓存里。这种方式比较简单,适合一个项目需要一个登录入口,但用户不能创建账号,只能有开发人员决定用户的信息,一个或者几个用户信息直接写死正在程序里。...
2022-07-12 11:47:47
994
原创 spring-cloud微服务 feign调用 本地调试问题
查看@FeignClient注解 自己支持指定服务的url来指定调用哪台provider 相似于加上url参数 url值为你本地(或者须要调试的服务机器)的地址+端口号 这样你再本地maven install一下 调用方的jar变了 就能够本地调试啦,...
2022-06-24 17:09:22
1428
原创 ErrorController 与 ZuulFallbackProvider的区别?
ErrorController和FallbackProvider区别
2022-06-24 10:05:00
122
原创 nacos心跳检测获取服务列表
1、服务停止运行了,心跳检测就获取不到服务列表,请求转发是就会报系统异常,因为找不到这个路径。2、多节点的情况下,下线某个服务,心跳检测可以获取到服务列表,但不会进行请求转发。...
2022-06-23 17:37:19
1282
原创 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
446
原创 Postgresql设置主键自增
1、创建一个序列2、打开navicat,找到表,右键点击选择设计表,将主键的默认值设置为这里我的序列名是product_id。3、打开表新增数据,主键就自动从1开始递增了
2022-06-23 15:49:33
8225
3
原创 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
567
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
2384
原创 关于对第三方调用接口结果的封装(服务端)
第三方接口返回结果示例如下:{ "code": 200, "message": "OK", "data": { "name" : "张三", "age" : 21, "profession" : "计算机专业"}
2022-05-16 15:36:17
1035
原创 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
1159
原创 关于@Valid使用过程中踩到的坑
1:依赖引入引入: <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> </dependency>或者引入: <dependency> <groupId>org
2022-04-12 17:52:31
1119
原创 Postgresql创建账号及删除账号详细命令
1: 首先要判断当前的账号是否为root账号,也就是本机电脑或者服务器安装数据库时设置的账号。如果不确定的话,可以采用一下方法,以idea开发工具为例:用idea连接好数据库后,如下图,zgm是数据库,schemas目录下有三种模式,那就是root账号,如果只有public模式,那就是非root账号。2:创建账号,无论当前账号是否为root账号,在它下面创建只读账号的命令都是一样的创建账号create user 用户名 password '密码';一般新创建的子账号的权限建议设置为只读权限
2022-02-23 11:27:57
12083
原创 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
4019
原创 数据库保存数据,类型为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
1344
原创 如何判断自己写的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
1191
原创 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
1467
原创 微服务架构搭建
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
406
原创 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
3512
原创 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
7784
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
4260
原创 数据库已经设置默认值,但JPA保存数据报错
数据库里的字段为char或者为varchar时,默认值要加单引号(英文),如果是int4,直接写数字即可,但注意不要超过精度;那为何JPA保存会报错????原因:实体类需要加上@DynamicUpdate@DynamicInsert这两个注解,缺一个都不行,加上后就可以正常保存数据了...
2021-12-20 17:41:19
912
原创 动态读取nacos配置文件内容
1:@Value("test.name")比如通过此注解可读取到配置文件里的test.name值,如果我们没改动项目代码,仅仅改动nacos里的参数值,一般不会重新部署项目,那么此注解读取道德仍然是未改动前的值,除非重新部署2:如何解决上述问题?在我们以后新加接口时,凡是用到@Value("{test.name}")比如通过此注解可读取到配置文件里的test.name值,如果我们没改动项目代码,仅仅改动nacos里的参数值,一般不会重新部署项目,那么此注解读取道德仍然是未改动前的值,除非重新部署2:如何
2021-12-16 16:57:11
1319
原创 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
318
原创 关于前端以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
5726
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人