自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 springboot+shiro+jwt+redis+cache实现无状态token登录(完美好文章!!)

转载自:https://blog.csdn.net/stilll123456/article/details/88370355原文原博主已重新整理到如下个人博客:SpringBoot整合shiro+jwt+redis - 无状态token登录(一)总览篇SpringBoot整合shiro+jwt+redis - 无状态token登录(二)授权篇SpringBoot整合shiro+jwt+redis - 无状态token登录(三)鉴权篇~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2021-04-19 11:23:12 2111

转载 @Validated和@Valid区别:Spring validation验证框架对入参实体进行嵌套验证必须在相应属性(字段)加上@Valid而不是@Validated

Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR-303规范),配合BindingResult可以直接提供参数验证结果。其中对于字段的特定验证注解比如@NotNull等网上到处都有,这里不详述在检验Controller的入参是否符合规范时,使用@Validated或者@Valid在基本验证功能上没有太多区别。但是在分组、注解地方、嵌套验证等功能上两个有所不

2021-04-29 10:46:15 322

转载 SpringBoot利用@Validated和@Valid进行校验参数——自定义校验规则(可传参)(好文章!)

自定义注解校验需要自定义一个注解类和一个校验类。import javax.validation.Constraint;import javax.validation.Payload;import java.lang.annotation.*; @Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.PARAMETER,ElementType.FIELD})@Constraint(validatedBy =

2021-04-28 19:23:20 1377

转载 Spring Boot之Validation自定义实现总结(亲测,好用)

Spring Boot Validation定制虽然在Spring Boot中已经提供了非常多的预置注解,用以解决在日常开发工作中的各类内容,但是在特定情况仍然存在某些场景,无法满足需求,需要自行定义相关的validator。本节将针对自定义的validator进行介绍。自定义的注解(@interface)这里的场景设置为进行IP地址的验证,通过注解的方式,让用户使用验证规则。注解定义如下:@Target({ElementType.FIELD})@Retention(RUNTIME)@

2021-04-28 18:54:12 3495

原创 原创:全局异常捕获BindException、MethodArgumentNotValidException和ConstraintViolationException @Validated@Valid

BindException(@Validated @Valid): @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(BindException.class) public ResultVO bindExceptionHandler(BindException e) { List<FieldError> fieldErrors = e.getBindingResult().getF...

2021-04-28 18:14:01 8934 4

转载 表单校验之@NotBlank,@NotNull,@NotEmpty之间的区别(重要!!我居然都没注意过!)

@NotBlank一般用来校验String类型不能为空@NotNull一般用来校验Integer类型不能为空@NotEmpty一般用来校验List类型不能为空

2021-04-28 15:57:42 362

转载 swagger设置全局token,解决接口需要token验证的问题(好文章!!亲测)

swagger是一个很牛B的东东,但正常使用时,我们的接口需要登陆才能访问的。即登陆时,要传一个登陆后的token才能访问的。那这个怎么设置,才可以让所有接口都允许登陆后访问呢。解决办法如下:@Configuration@EnableWebMvc@EnableSwagger2public class SwaggerConfig { @Bean public Docket platformApi() { return new Docket(Docum

2021-04-28 15:15:31 6387

原创 原创:vue使用elementUI的复选框el-checkbox-group与el-checkbox回显失效问题解决!!

一、场景:用户表——角色表,用户管理界面可以选择角色,并且每次初始化时候支持“回显”,如图:使用elementUI的复选框组合:el-checkbox-groupel-checkbox二、上代码:1. 整体结构(列表页和详情页):2. detail页面的组件Info:<el-checkbox-group v-model="chooseRoleNames"> <el-checkbox v-for="(item,index) in totalR

2021-04-27 18:20:14 14969 2

转载 JPA 关系映射(OneToOne、OneToMany、ManyToMany)(IBM官方文档)

单向 OneToOne单向一对一是关联关系映射中最简单的一种,简单地说就是可以从关联的一方去查询另一方,却不能反向查询。@OneToOne注解只用于关系的发出端,同时定义一个接收端类型的字段属性; 单向的一对一关系在数据库中是以外键的形式被映射的, 其中关系的发出端存储一个指向关系的接收端的一个外键。 缺省情况下这个外键的字段名称,是以它指向的表的名称加下划线“_”加“ID”组成的。 当然我们也可以根据我们的喜好来修改这个字段,修改的办法就是使用 @JoinColumn 这个注解@O

2021-04-25 21:02:43 1483

转载 Spring Jpa ManyToMany(多对多)关系中的cascade={CascadeType.X} 的配置与总结(好文章!!不看会踩坑,必看!)

角色表用户表中间表CascadeType.MERGE新增账户并添加不存在的角色,Jpa执行的语句可以看到首先对role角色表进行了查询,不存在就添加一个角色。Hibernate: select role0_.role_id as role_id1_4_0_, role0_.role_name as role_nam2_4_0_ from role role0_ where role0_.role_id=?Hibernate: insert into user (user_na

2021-04-25 20:27:36 802 1

转载 Hibernate中多对多的annotation的写法——jpa OneToMany ManyToMany(中间表可以有多个字段)(好文章!!)

一般情况下,多对多的关联关系是需要中间表的;情况一:如果中间表仅仅是做关联用的,它里面仅有2个外键做联合主键,则使用ManyToMany(不用写中间表的Model,只需要写出两张主表的model即可)学生表:@Entity@Table(name = "T_STUDENT")@SequenceGenerator(name = "SEQ_STUDENT", sequenceName = "SEQ_STUDENT")public class Student implements S..

2021-04-25 19:22:08 878

原创 springboot jpa外键 (user role)双向多对多@ManyToMany(原创)

多个用户可能有多个角色,多个角色可能有多个用户。所以这种情况下就使用@ManyToMany进行关联(jpa会自动生成中间表,java的entity代码中只需要User类和Role类,无需创建中间表user_role类(sql建表语句中可以手动创建该中间表,不手动创建jpa系统也会帮忙自动创建))注意:不能用lombok的@EqualsAndHashCode和@ToString,否则死循环内存溢出User表:package com.cmit.oag.backend.entity.comm

2021-04-25 18:44:03 9771 1

转载 外键(简单清晰!好文章!)

当我们用主键唯一标识记录时,我们就可以在students表中确定任意一个学生的记录:students:id name other columns... 1 小明 ... 2 小红 ... 我们还可以在classes表中确定任意一个班级记录:classes:id name other columns... 1 一班 ... 2 二班 ... 但是我们如何确定students表的一条记录,例如,id=

2021-04-25 11:07:13 231

转载 Java程序员如何月薪达到两万,需要技术水平达到什么程度?(理解了面试为什么这么问!以及工作中的应用!说的很直白)

有人说这只能是大企业或者互联网企业工程师才能拿到。也许是的,小公司或者非互联网企业拿两万的不太可能是码农了,应该已经转管理。还有区域问题,这个不在我的考虑范围内,因为除了北上广深杭,其他地方也很难达到。还有人提到这个水平不止2w,其实工资是跟面试表现有关的,也跟其他综合水平有关,比如你是985,top10,或者研究生学历,也或者懂点node,懂点大数据等等,或者表达能力强,击中面试官痛点都会加分。如果你达到我说的水准,起薪就是2w,有其他优秀的表现还会在这个基础上加分。但纯JAVA方面待遇是比较吻合的。

2021-04-22 10:31:56 353

转载 git 本地创建分支,推送到远程(简单明了!!)

一、创建分支1. git branch 查看本地分支2. git branch -a 查看远程端的查分支命令3. 创建分支: git checkout -b branch1 本地多了分支1 ,远程端分支还不变4. cat test.txt 运行文件5. git status 查看状态 : 当前是没有提交任何东西6. vim test.txt 编辑txt 文件7. git add test.t...

2021-04-21 17:17:16 27633 2

转载 Shiro + JWT + Spring Boot Restful 简易教程(亲测好用!!好文章!!)

GitHub 项目地址:https://github.com/Smith-Cruise/Spring-Boot-Shiro 。原文地址:https://www.inlighting.org/archives/spring-boot-shiro-jwt。序言我也是半路出家的人,如果大家有什么好的意见或批评,请务必 issue 下。如果想要直接体验,直接 clone 项目,运行 mvn spring-boot:run 命令即可进行访问。网址规则自行看教程后面。如果想了解 Spring Sec

2021-04-20 21:28:26 282

转载 SpringBoot+Shiro+Vue前后端分离项目通过JWT实现自动登录

虽然 Shiro 本身可以支持扩展 RememberMe 功能,但仅限于传统项目因为 Shiro 的用户信息是基于 Session 进行管理,在前后端分离的项目中无法实现 Session 状态的前后统一所以本文通过 JWT 对 Shiro 原生的 Session 控制进行替换,从而实现用户信息的前后传递及判断更多精彩更多技术博客,请移步 IT人才终生实训与职业进阶平台涉及资料一个已经实现的例子 JWT官网 JWT源码导入项目所需的依赖对于 SpringBoot 和 Shiro.

2021-04-20 21:26:25 398

转载 Nginx的HTTP Code444和307设置

nginx 444介绍当没有显式指定default server的时候,Nginx会使用第一个server来作为默认的响应server,即使请求的Host并没有匹配到server_name。这是为了兼容老旧的一些不带Host的HTTP请求而做的设置。官文描述:How nginx processes a request此时可能存在一定的风险。如果有非备案的名解析到了你的Public IP上,而你的Web服务对该域名的请求有所响应的话,可能会导致Public IP被运营商封锁。解决办法:.

2021-04-20 13:15:00 8922

转载 使用spring注解配置类代替xml配置文件注册bean类(好文章!!)

spring配置类,即在类上加@Configuration注解,使用这种配置类来注册bean,效果与xml文件是完全一样的,只是创建springIOC容器的方式不同://通过xml文件创建springIOC容器ApplicationContext applicationContext = new ClassPathXmlApplicationContext("/spring-beans.xml");//通过配置类创建springIOC容器ApplicationContext applicatio

2021-04-19 15:43:18 344

转载 Token验证——JWT方法(明白了!好文章!!)

使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:客户端使用用户名跟密码请求登录 服务端收到请求,去验证用户名与密码 验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端 客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里 客户端每次向服务端请求资源的时候需要带着服务端签发的 Token 服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户

2021-04-15 17:33:50 24362 7

转载 @Autowired用法详解(明白了原理!好文章!!)

@Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。通过 @Autowired的使用来消除 set ,get方法。在使用@Autowired之前,我们对一个bean配置起属性时,是这用用的<property name="属性名" value=" 属性值"/>通过这种方式来,配置比较繁琐,而且代码比较多。在Spring 2.5 引入了 @Autowired 注释一、下面用案例来具体说明UserRepository.javapa..

2021-04-14 10:30:48 10800

转载 git:remote ref does not exist(git无法删除远程分支)(好文章!!)

问题描述在视图删除某个远程分支的时候显示: remote ref does not exist操作流程查看全部分支情况删除远程分支报错解决方案解决方案是首先清除远程分支的本地缓存:git fetch -p origin可以看到,我们要删除的远程分支其实已经删除了。参考https://stackoverflow.com/questions/32147093/git-delete-remotes-remote-refs-do-not-exist—————..

2021-04-12 16:03:28 993

转载 不同版本vue-cli区别——详解(言简意赅!!好文章!!)

目录vue-cli 命令 项目结构 设置环境变量(一)vue-cli 命令1. vue-cli下载安装:vue-cli2:npm install vue-cli -gvue-cli3/cli4:npm install -g vue@cli2. 创建新项目vue-cli2:vue init webpack 2.0projectvue-cli3/cli4:vue create 3.0project或通过视图创建项目:vue ui3. 启动项目

2021-04-09 17:42:43 1636

转载 git pull —— Git :fatal: refusing to merge unrelated histories解决(言简意赅!!)

今天本地创建了一个仓库(有README),把本地仓库和Github上关联以后,发现git pull,git feach提醒fatal: refusing to merge unrelated histories上网查到原因是两个分支是两个不同的版本,具有不同的提交历史加一句$git pull origin master --allow-unrelated-histories可以允许不相关历史提,强制合并,确实解决了这个问题,感谢网友转载自:https://blog..

2021-04-09 16:33:10 166

转载 warning: LF will be replaced by CRLF in ** 的原因及解决办法(好文章!!)

今天在使用git add 命令的时候,弹出了一个警告 warning: LF will be replaced by CRLF in ******(具体的一个文件)原因LF和CRLF其实都是换行符,但是不同的是,LF是linux和Unix系统的换行符,CRLF是window 系统的换行符。这就给跨平台的协作的项目带来了问题,保存文件到底是使用哪个标准呢? git为了解决这个问题,提供了一个”换行符自动转换“的功能,并且这个功能是默认处于”自动模式“即开启状态的。这个换行符自动转换会把自动把你代码里

2021-04-09 12:52:53 1131

空空如也

空空如也

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

TA关注的人

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