springboot
荆茗Scaler
这个作者很懒,什么都没留下…
展开
-
Seata和shardingsphere集成使用时遇到-io.seata.common.exception.ShouldNeverHappenException
集成shardingsphere时,由于对表做了分表,所以主键id设置为非自增的主键。当在java代码中执行insert逻辑时,原计划是shardingsphere设置的雪花算法生成的id代替了mysql的自增主键。没有集成seata时是没问题的,但是集成seata后,进入seata代码逻辑时,会先获取主键是哪个字段,然后再判断主键是否自增,如果不是自增的那就会抛一个ShouldNeverHappenException。以下为seata代码的逻辑代码执行的类:io.seata.rm.dataso原创 2021-12-29 16:45:40 · 3932 阅读 · 1 评论 -
通过@Aspect切面自定义注解
一种通过切面编程来自定义注解,以下代码demo是通过自定义注解对加密参数进行验证的过程,不用关心代码的业务过程,直接看通过@Aspect是如何自定义注解的,有了以下代码,springboot工程中的主类还需要加@EnableAspectJAutoProxy 注解直接看代码:@Documented@Target({ElementType.PARAMETER, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)public @in原创 2021-07-19 18:30:43 · 1086 阅读 · 0 评论 -
第三方接口调用的参数加密验签
首先,下面的方式只支持post请求,get方式可以自己扩展。每当一个不能鉴权的接口需要被其它服务调用时,如果这个接口会暴漏在公网上,那么这个不能鉴权的接口或者无token的接口就需要换一种方式进行权限验证。通常使用的方法是参数加密。调用方和被调用方参数使用同一种规则加密,匹配成功,则允许请求,匹配失败,则拒绝请求。这种根据参数加密的方式往往能防止请求被其他方拦截后篡改参数,进行非法请求。这种加密有以下几种作用:1. 加密时可以附带接口请求时的时间戳,这样可以保证一个接口只能在有效期内被访问。2. 参原创 2021-07-19 18:22:06 · 1591 阅读 · 1 评论 -
springboot后端简单解决跨域问题
有个注解@CrossOrigin是解决跨域问题的,这个注解可以加载方法上,也可以加在类上,但是作者没因为时间原因暂时没有调通,所以用了下面的方法解决了跨域的问题:@Configurationpublic class CorsConfiguration { @Bean public FilterRegistrationBean corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCors原创 2021-07-19 17:40:46 · 600 阅读 · 0 评论 -
thymeleaf在springboot中的简单应用
resources目录下新建一个public目录,public目录下放一个html文件:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script><原创 2021-07-19 13:11:09 · 89 阅读 · 0 评论 -
springboot项目给所有controller的请求路径统一加前缀路径的两种方式
1server.servlet.context-path=/xxx这种方式是给项目所有请求加的全局路径,包括controller层的请求和静态文件的请求。2 只对controller的后端接口请求生效,不对同一个项目中的竞态文件生效的方式如下:PathConfig.java/** * 配置统一的后台接口访问路径的前缀 */@Configurationpublic class PathConfig implements WebMvcConfigurer { @Autowi.原创 2021-04-29 15:30:51 · 11541 阅读 · 0 评论 -
springboot+mybatis+mysql多数据源配置
项目中经常要使用到不同的库的数据源,就以mysql为例,讲解一下自己在项目中配置多个数据源的过程: 1 在application.properties文件中配置不同数据源的配置。# kbs database configspring.datasource.kbs.jdbc-url=jdbc:mysql://****:3306/kbs?allowMultiQueries=tr...原创 2019-08-22 10:01:14 · 810 阅读 · 0 评论