- 文章目录 1. Thymeleaf 简介2. 整合 Spring Boot2.1 基本用法2.2 手动渲染 3. Thymeleaf 细节3.1 标准表达式语法3.1.1 简单表达式3.1.2 字面量3.1.3 文本运算3.1.4 算术运算3.1.5 布尔运算3.1.6 比较和相等3.1.7 条件运算符3.1.8 内置对象 3.2 设置属性值3.3 遍历3.4 ... 文章目录 1. Thymeleaf 简介2. 整合 Spring Boot2.1 基本用法2.2 手动渲染 3. Thymeleaf 细节3.1 标准表达式语法3.1.1 简单表达式3.1.2 字面量3.1.3 文本运算3.1.4 算术运算3.1.5 布尔运算3.1.6 比较和相等3.1.7 条件运算符3.1.8 内置对象 3.2 设置属性值3.3 遍历3.4 ...
- 在Spring框架中,属性的注入我们有多种方式,我们可以通过构造方法注入,可以通过set方法注入,也可以通过p名称空间注入,方式多种多样,对于复杂的数据类型比如对象、数组、List集合、map集合、Properties等,我们也都有相应的注入方式。 OK,接下来我们就来看看这么多不同的注入吧! 三种属性注入方式 构造方法注入 构造方法注入和p名称空间注入这两种方... 在Spring框架中,属性的注入我们有多种方式,我们可以通过构造方法注入,可以通过set方法注入,也可以通过p名称空间注入,方式多种多样,对于复杂的数据类型比如对象、数组、List集合、map集合、Properties等,我们也都有相应的注入方式。 OK,接下来我们就来看看这么多不同的注入吧! 三种属性注入方式 构造方法注入 构造方法注入和p名称空间注入这两种方...
- SpringMVC 中的九大组件前面已经和大家分享了好几个了,今天我们来继续视图解析器的分析。 关于视图解析器,松哥其实在之前的文章中有和大家分享过,那一次是为了解决多个视图共存的问题,如果小伙伴们还没看过那篇文章,可以先看看: SpringMVC 中如何同时存在多个视图解析器 ViewResolver 其实就是我们心心念念的视图解析器,用过 SpringMVC ... SpringMVC 中的九大组件前面已经和大家分享了好几个了,今天我们来继续视图解析器的分析。 关于视图解析器,松哥其实在之前的文章中有和大家分享过,那一次是为了解决多个视图共存的问题,如果小伙伴们还没看过那篇文章,可以先看看: SpringMVC 中如何同时存在多个视图解析器 ViewResolver 其实就是我们心心念念的视图解析器,用过 SpringMVC ...
- 上篇文章松哥和大家聊了什么是 CSRF 攻击,以及 CSRF 攻击要如何防御。主要和大家聊了 Spring Security 中处理该问题的几种办法。 今天松哥来和大家简单的看一下 Spring Security 中,CSRF 防御源码。 本文是本系列第 19 篇,阅读本系列前面文章有助于更好的理解本文: 挖一个大坑,Spring Security 开搞!松哥手把... 上篇文章松哥和大家聊了什么是 CSRF 攻击,以及 CSRF 攻击要如何防御。主要和大家聊了 Spring Security 中处理该问题的几种办法。 今天松哥来和大家简单的看一下 Spring Security 中,CSRF 防御源码。 本文是本系列第 19 篇,阅读本系列前面文章有助于更好的理解本文: 挖一个大坑,Spring Security 开搞!松哥手把...
- 在一个 Web 请求中,参数我们无非就是放在地址栏或者请求体中,个别请求可能放在请求头中。 放在地址栏中,我们可以通过如下方式获取参数: String javaboy = request.getParameter("name "); 1 放在请求体中,如果是 key/value 形式,我们可以通过如下方式获取参数: String javaboy = reques... 在一个 Web 请求中,参数我们无非就是放在地址栏或者请求体中,个别请求可能放在请求头中。 放在地址栏中,我们可以通过如下方式获取参数: String javaboy = request.getParameter("name "); 1 放在请求体中,如果是 key/value 形式,我们可以通过如下方式获取参数: String javaboy = reques...
- 文章目录 1. RabbitMQ 消息发送机制2. RabbitMQ 的努力2.1 开启事务机制2.2 发送方确认机制2.2.1 单条消息处理2.2.2 消息批量处理 3. 失败重试3.1 自带重试机制3.2 业务重试 4. 小结 微服务可以设计成消息驱动的微服务,响应式系统也可以基于消息中间件来做,从这个角度来说,在互联网应用开发中,消息中间件真的是... 文章目录 1. RabbitMQ 消息发送机制2. RabbitMQ 的努力2.1 开启事务机制2.2 发送方确认机制2.2.1 单条消息处理2.2.2 消息批量处理 3. 失败重试3.1 自带重试机制3.2 业务重试 4. 小结 微服务可以设计成消息驱动的微服务,响应式系统也可以基于消息中间件来做,从这个角度来说,在互联网应用开发中,消息中间件真的是...
- 要学反射,先要了解Class这个类,Class是所有Java类的一个总称,Class的实例中存储的是一个类的字节码,获取Class的实例有三种方式: System.classnew Date().getClass()Class.forName(“java.lang.String”); Java不允许使用Class cla = new Class()这种方式获得一个C... 要学反射,先要了解Class这个类,Class是所有Java类的一个总称,Class的实例中存储的是一个类的字节码,获取Class的实例有三种方式: System.classnew Date().getClass()Class.forName(“java.lang.String”); Java不允许使用Class cla = new Class()这种方式获得一个C...
- 搞 Spring Boot 的小伙伴都知道,Spring Boot 中的配置文件有两种格式,properties 或者 yaml,一般情况下,两者可以随意使用,选择自己顺手的就行了,那么这两者完全一样吗?肯定不是啦!本文就来和大伙重点介绍下 yaml 配置,最后再来看看 yaml 和 properties 配置有何区别。 狡兔三窟 首先 applicati... 搞 Spring Boot 的小伙伴都知道,Spring Boot 中的配置文件有两种格式,properties 或者 yaml,一般情况下,两者可以随意使用,选择自己顺手的就行了,那么这两者完全一样吗?肯定不是啦!本文就来和大伙重点介绍下 yaml 配置,最后再来看看 yaml 和 properties 配置有何区别。 狡兔三窟 首先 applicati...
- 用过 Spring Boot 的小伙伴都知道,我们只需要在项目中引入 spring-boot-starter-web 依赖,SpringMVC 的一整套东西就会自动给我们配置好,但是,真实的项目环境比较复杂,系统自带的配置不一定满足我们的需求,往往我们还需要结合实际情况自定义配置。 自定义配置就有讲究了,由于 Spring Boot 的版本变迁,加上这一块本身... 用过 Spring Boot 的小伙伴都知道,我们只需要在项目中引入 spring-boot-starter-web 依赖,SpringMVC 的一整套东西就会自动给我们配置好,但是,真实的项目环境比较复杂,系统自带的配置不一定满足我们的需求,往往我们还需要结合实际情况自定义配置。 自定义配置就有讲究了,由于 Spring Boot 的版本变迁,加上这一块本身...
- 之前有小伙伴表示,看 Spring Security 这么麻烦,不如自己写一个 Filter 拦截请求,简单实用。 自己写当然也可以实现,但是大部分情况下,大家都不是专业的 Web 安全工程师,所以考虑问题也不过就是认证和授权,这两个问题处理好了,似乎系统就很安全了。 其实不是这样的! 各种各样的 Web 攻击每天都在发生,什么固定会话攻击、csrf 攻击等等,如... 之前有小伙伴表示,看 Spring Security 这么麻烦,不如自己写一个 Filter 拦截请求,简单实用。 自己写当然也可以实现,但是大部分情况下,大家都不是专业的 Web 安全工程师,所以考虑问题也不过就是认证和授权,这两个问题处理好了,似乎系统就很安全了。 其实不是这样的! 各种各样的 Web 攻击每天都在发生,什么固定会话攻击、csrf 攻击等等,如...
- 文章目录 1.HandlerAdapter 体系2.HandlerAdapter3.RequestMappingHandlerAdapter3.1 AbstractHandlerMethodAdapter3.2 RequestMappingHandlerAdapter3.2.1 初始化过程3.2.2 请求执行过程checkRequestinvokeHandler... 文章目录 1.HandlerAdapter 体系2.HandlerAdapter3.RequestMappingHandlerAdapter3.1 AbstractHandlerMethodAdapter3.2 RequestMappingHandlerAdapter3.2.1 初始化过程3.2.2 请求执行过程checkRequestinvokeHandler...
- 之前我已经有好几篇博客介绍Spring框架了,不过当时我们都是使用注解来完成注入的,具体小伙伴可以参考这几篇博客(Spring&SpringMVC框架案例)。那么今天我想来说说如何通过xml配置来实例化bean,其实也很简单。 使用xml配置来实例化bean共分为三种方式,分别是普通构造方法创建、静态工厂创建、实例工厂创建,OK,那么接下来我们来分别看看这几种... 之前我已经有好几篇博客介绍Spring框架了,不过当时我们都是使用注解来完成注入的,具体小伙伴可以参考这几篇博客(Spring&SpringMVC框架案例)。那么今天我想来说说如何通过xml配置来实例化bean,其实也很简单。 使用xml配置来实例化bean共分为三种方式,分别是普通构造方法创建、静态工厂创建、实例工厂创建,OK,那么接下来我们来分别看看这几种...
- 今天咱们来聊一聊 Spring Security 中的表决机制与投票器。 当用户想访问 Spring Security 中一个受保护的资源时,用户具备一些角色,该资源的访问也需要一些角色,在比对用户具备的角色和资源需要的角色时,就会用到投票器和表决机制。 当用户想要访问某一个资源时,投票器根据用户的角色投出赞成或者反对票,表决方式则根据投票器的结果进行表决。 在 ... 今天咱们来聊一聊 Spring Security 中的表决机制与投票器。 当用户想访问 Spring Security 中一个受保护的资源时,用户具备一些角色,该资源的访问也需要一些角色,在比对用户具备的角色和资源需要的角色时,就会用到投票器和表决机制。 当用户想要访问某一个资源时,投票器根据用户的角色投出赞成或者反对票,表决方式则根据投票器的结果进行表决。 在 ...
- 这是来自一个小伙伴的提问,我觉得很有必要和大家聊一聊这个问题: 首先这个问题本身是有点问题的,因为 http.authorizeRequests() 并非总是第一个,虽然大部分情况下,我们看到的是第一个,但是也有很多情况 http.authorizeRequests() 不是首先出现。要搞明白这个问题,我们就要搞清楚 http.authorizeRequests(... 这是来自一个小伙伴的提问,我觉得很有必要和大家聊一聊这个问题: 首先这个问题本身是有点问题的,因为 http.authorizeRequests() 并非总是第一个,虽然大部分情况下,我们看到的是第一个,但是也有很多情况 http.authorizeRequests() 不是首先出现。要搞明白这个问题,我们就要搞清楚 http.authorizeRequests(...
- 有好几位小伙伴小伙伴曾向松哥求助过这个问题。 一开始我觉得这可能是一个小概率 BUG,但是当问的人多了,我觉得这个问题对于新手来说还有一定的普遍性,有必要来写篇文章跟大家仔细聊一聊这个问题,防止小伙伴们掉坑。 1.问题复现 如果使用了 Spring Security,当我们登录成功后,可以通过如下方式获取到当前登录用户信息: SecurityContextHol... 有好几位小伙伴小伙伴曾向松哥求助过这个问题。 一开始我觉得这可能是一个小概率 BUG,但是当问的人多了,我觉得这个问题对于新手来说还有一定的普遍性,有必要来写篇文章跟大家仔细聊一聊这个问题,防止小伙伴们掉坑。 1.问题复现 如果使用了 Spring Security,当我们登录成功后,可以通过如下方式获取到当前登录用户信息: SecurityContextHol...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
回顾中
热门标签