- 文章目录 1.异常解析器概览2.AbstractHandlerExceptionResolver2.1 AbstractHandlerMethodExceptionResolver2.1.1 ExceptionHandlerExceptionResolver 2.2 DefaultHandlerExceptionResolver2.3 ResponseStatu... 文章目录 1.异常解析器概览2.AbstractHandlerExceptionResolver2.1 AbstractHandlerMethodExceptionResolver2.1.1 ExceptionHandlerExceptionResolver 2.2 DefaultHandlerExceptionResolver2.3 ResponseStatu...
- 答案是能! 松哥之前写过类似的文章,但是主要是讲了用法,今天我们来看看原理! 本文基于当前 Spring Security 5.3.4 来分析,为什么要强调最新版呢?因为在在 5.0.11 版中,角色继承配置和现在不一样。旧版的方案我们现在不讨论了,直接来看当前最新版是怎么处理的。 1.角色继承案例 我们先来一个简单的权限案例。 创建一个 Spring Boo... 答案是能! 松哥之前写过类似的文章,但是主要是讲了用法,今天我们来看看原理! 本文基于当前 Spring Security 5.3.4 来分析,为什么要强调最新版呢?因为在在 5.0.11 版中,角色继承配置和现在不一样。旧版的方案我们现在不讨论了,直接来看当前最新版是怎么处理的。 1.角色继承案例 我们先来一个简单的权限案例。 创建一个 Spring Boo...
- 我们来继续撸 Spring Security 源码。 SecurityConfigurer 在 Spring Security 中是一个非常重要的角色。在前面的文章中,松哥曾经多次提到过,Spring Security 过滤器链中的每一个过滤器,都是通过 xxxConfigurer 来进行配置的,而这些 xxxConfigurer 实际上都是 SecurityConf... 我们来继续撸 Spring Security 源码。 SecurityConfigurer 在 Spring Security 中是一个非常重要的角色。在前面的文章中,松哥曾经多次提到过,Spring Security 过滤器链中的每一个过滤器,都是通过 xxxConfigurer 来进行配置的,而这些 xxxConfigurer 实际上都是 SecurityConf...
- 做微人事的小伙伴(https://github.com/lenve/vhr),应该都发现了在微人事中有一个极为特殊的请求,那就是登录。 登录请求是一个 POST 请求,但是数据传输格式是 key/value 的形式。整个项目里就只有这一个 POST 请求是这样,其他 POST 请求都是 JSON 格式的数据。 为什么做成这个样子呢?还是懒呗。 因为 Spring ... 做微人事的小伙伴(https://github.com/lenve/vhr),应该都发现了在微人事中有一个极为特殊的请求,那就是登录。 登录请求是一个 POST 请求,但是数据传输格式是 key/value 的形式。整个项目里就只有这一个 POST 请求是这样,其他 POST 请求都是 JSON 格式的数据。 为什么做成这个样子呢?还是懒呗。 因为 Spring ...
- 最近的又一头扎进 Spring Security+CAS 上面了,CAS 单点登录已经连续写了四篇了,小伙伴们一定按顺序阅读哦,这样后面的文章才好理解。 上篇文章和大家分享了 CAS Server 接入数据库的问题,今天我们来看下如何在 CAS Server 上自定义登录页面,因为正常来说,我们是不会直接用官方给出的登录页面的。 本文是 Spring Securit... 最近的又一头扎进 Spring Security+CAS 上面了,CAS 单点登录已经连续写了四篇了,小伙伴们一定按顺序阅读哦,这样后面的文章才好理解。 上篇文章和大家分享了 CAS Server 接入数据库的问题,今天我们来看下如何在 CAS Server 上自定义登录页面,因为正常来说,我们是不会直接用官方给出的登录页面的。 本文是 Spring Securit...
- 本文由读者 muggle 投稿,muggle 是一位具备极客精神的90后单身老实猿,对 Spring Security 有丰富的使用经验,muggle 个人博客地址是 https://muggle0.github.io。 Security 原理分析 SpringSecurity 过滤器链 SpringSecurity 采用的是责任链的设计模式,它有一条很长的过滤器... 本文由读者 muggle 投稿,muggle 是一位具备极客精神的90后单身老实猿,对 Spring Security 有丰富的使用经验,muggle 个人博客地址是 https://muggle0.github.io。 Security 原理分析 SpringSecurity 过滤器链 SpringSecurity 采用的是责任链的设计模式,它有一条很长的过滤器...
- 最近因为因为项目的原因,一直在寻找一款合适的前端模版,之前的 Vue 前端页面都是自己写的,写多了就烦了,因为功能都差不多,写来写去就没意思了。 所以在新项目中想看看市面上的 Vue 后台管理模版,找个现成的,改一改基本就 OK 了,团队也省事一些。 老实说,Vue 的生态还是相当丰富的,经典的、新生的后台管理框架都有,我这里和大家分享我们这次重点比较的三个。 v... 最近因为因为项目的原因,一直在寻找一款合适的前端模版,之前的 Vue 前端页面都是自己写的,写多了就烦了,因为功能都差不多,写来写去就没意思了。 所以在新项目中想看看市面上的 Vue 后台管理模版,找个现成的,改一改基本就 OK 了,团队也省事一些。 老实说,Vue 的生态还是相当丰富的,经典的、新生的后台管理框架都有,我这里和大家分享我们这次重点比较的三个。 v...
- 技术日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点松哥是深有体会的。 网上的资料多如牛毛,但是很多时候我们缺的不是一个资料,而是一个学习规划! 就是说,做 Java 开发,我们应该从哪里开始学?应该学习哪些东西?应该按照什么样的顺序来学? 松哥大二刚开始自学 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,自己一个人摸索了很长时... 技术日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点松哥是深有体会的。 网上的资料多如牛毛,但是很多时候我们缺的不是一个资料,而是一个学习规划! 就是说,做 Java 开发,我们应该从哪里开始学?应该学习哪些东西?应该按照什么样的顺序来学? 松哥大二刚开始自学 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,自己一个人摸索了很长时...
- Spring 源码继续开整! 上篇文章中,松哥和大家分享了 Spring 中配置文件的加载方式,如果小伙伴们还没看过,一定先看一下,这有助于更好的理解本文,传送门:Spring 源码第一篇开整!配置文件是怎么加载的?。 上篇文章和大家分享了 Spring 中是如何加载本地配置文件的,如何将加载到的本地配置文件通过一个 InputStream 返回。了解到这一点之后,... Spring 源码继续开整! 上篇文章中,松哥和大家分享了 Spring 中配置文件的加载方式,如果小伙伴们还没看过,一定先看一下,这有助于更好的理解本文,传送门:Spring 源码第一篇开整!配置文件是怎么加载的?。 上篇文章和大家分享了 Spring 中是如何加载本地配置文件的,如何将加载到的本地配置文件通过一个 InputStream 返回。了解到这一点之后,...
- 如果你基于Spring Cloud对外发布一个接口,实际上就是支持http协议的,对外发布的就是一个最最普通的Spring MVC的http接口 feign,他是对一个接口打了一个注解,他一定会针对这个注解标注的接口生成动态代理,然后你针对feign的动态代理去调用他的方法的时候,此时会在底层生成http协议格式的请求: /order/create?productI... 如果你基于Spring Cloud对外发布一个接口,实际上就是支持http协议的,对外发布的就是一个最最普通的Spring MVC的http接口 feign,他是对一个接口打了一个注解,他一定会针对这个注解标注的接口生成动态代理,然后你针对feign的动态代理去调用他的方法的时候,此时会在底层生成http协议格式的请求: /order/create?productI...
- 整合示例 1、依赖 pom.xml <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</ar... 整合示例 1、依赖 pom.xml <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</ar...
- 第15 章 : Annotation注解 71 Annotation简介 JDK>=1.5 作用 1、减少程序配置的代码 2、进行结构化定义 以注解的形式实现程序开发 程序代码(资源调度) 资源:关系型数据库 + NoSQL系统 + 消息服务 + 数据服务 配置文件:数据库连接资源 + 其他连接资源 程序开发结构的历史 第一阶段:所有配置都写在程序代码... 第15 章 : Annotation注解 71 Annotation简介 JDK>=1.5 作用 1、减少程序配置的代码 2、进行结构化定义 以注解的形式实现程序开发 程序代码(资源调度) 资源:关系型数据库 + NoSQL系统 + 消息服务 + 数据服务 配置文件:数据库连接资源 + 其他连接资源 程序开发结构的历史 第一阶段:所有配置都写在程序代码...
- 热部署 1、页面热部署 application.properties文件中配置 spring.thymeleaf.cache=false 1 2、类文件热部署 spring-boot-devtools 1 1、添加依赖 <dependency> <groupId>org.springframework.boot</groupId... 热部署 1、页面热部署 application.properties文件中配置 spring.thymeleaf.cache=false 1 2、类文件热部署 spring-boot-devtools 1 1、添加依赖 <dependency> <groupId>org.springframework.boot</groupId...
- 项目结构 . ├── pom.xml └── src ├── main │ ├── java │ │ └── com │ │ └── pengshiyu │ │ ├── action │ │ │ └── UserAction.java │ │ ├── bean │ │ │ └── User.java │ │ ├── dao ... 项目结构 . ├── pom.xml └── src ├── main │ ├── java │ │ └── com │ │ └── pengshiyu │ │ ├── action │ │ │ └── UserAction.java │ │ ├── bean │ │ │ └── User.java │ │ ├── dao ...
- 第八章 Spring Boot 自定义 starters 自动配置类 @Configuration // 指定这个类是配置类 @Conditionalxxx // 指定条件成立的情况下自动配置类生效 @AutoConfigureAfter // 指定自动配置类的顺序 @Bean // 给容器中添加组件 @ConfigurationProperties // ... 第八章 Spring Boot 自定义 starters 自动配置类 @Configuration // 指定这个类是配置类 @Conditionalxxx // 指定条件成立的情况下自动配置类生效 @AutoConfigureAfter // 指定自动配置类的顺序 @Bean // 给容器中添加组件 @ConfigurationProperties // ...
上滑加载中
推荐直播
-
华为云码道Skill实战与极速交付,智能开发全链路实战2026/07/22 周三 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;姜浩-华为云HCDG核心组成员
直播深度解读华为云码道6月产品新特性,从Skill市场安装专家技能,带你零距离体验从需求,开发,审查,重构全链路闭环的开发过程。从零构建并交付一个完整项目,让您体验从代码提交到服务上线的“极速”之旅。
回顾中 -
聚开发者之力,创具身新未来2026/07/23 周四 15:00-17:00
张豪杰/程文/王军/刘新春/黄钦开 /张晓天
本次华为云具身智能开发平台CloudRobo培训面向具身智能开发者,带您全流程体验机器人本体R2C小时级接入、环境重建与轨迹生成仿真数据生产、PB级数据管理、数据评测、模型训推、强化学习和Benchmark一键评测等功能,并体验业界主流具身模型应用。
回顾中 -
用码道,让你的AI作品三步上朋友圈2026/08/04 周二 19:00-20:00
林华鼎-华为云AI开发者运营负责人
从入门 · 到做AI应用 · 到企业级开发。不教编程,只教用AI · 零代码、有产出、能带走、可炫耀 · 每课人人动手实操
回顾中
热门标签