TyuIn
热爱编程#
展开
-
Spring WebFlux 框架 - RouterFunction 案例
在之前的博客,我向大家简单展示了 WebFlux 框架的简单使用,算是有了一个基本的认识,上一次的案例我们使用的是基于注解开发的模式,而其实 WebFlux 还有另外一种写法,基于功能性的模式。其实两种方式都比较接近,下面我们通过编写代码来感受一下。首先,创建一个简单的 spring boot 项目,导入 WebFlux 依赖以及 为了方便导入 Lombok 依赖,如下:<dependency> <groupId>org.springframework.boot</g原创 2022-01-12 23:09:47 · 1846 阅读 · 1 评论 -
Spring WebFlux框架 - 简单实例
下面我们先通过一个简单的 WebFlux 的使用案例,对比正常的 String 返回,Mono<String> 返回 以及 Flux<String> 返回的区别。首先创建一个简单的 springboot 项目,导入对应的 webflux 依赖,当然为了方便也导入 lombok 的依赖。<dependency> <groupId>org.springframework.boot</groupId> <artifactId&g原创 2022-01-11 22:28:10 · 1498 阅读 · 0 评论 -
Spring WebFlux框架 - 功能端点
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122418933?spm=1001.2014.3001.55015、功能端点Spring WebFlux 包含 WebFlux.fn,这是一个轻量级的函数式编程模型,其中函数用于路由和处理请求,并且为不变性设计了合约。 它是基于注解的编程模型的替代方案,但运行在相同的响应式核心基础上。5.1 概述在 WebFlux.fn 中,使用 HandlerFunction 处理 HTTP 请求:原创 2022-01-10 22:52:43 · 531 阅读 · 0 评论 -
Spring WebFlux框架 - 带注解的控制器(补充)
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122417230?spm=1001.2014.3001.55024.4 Model您可以使用 @ModelAttribute 注解:在 @RequestMapping 方法中的方法参数上,用于从模型创建或访问对象并通过 WebDataBinder 将其绑定到请求。作为 @Controller 或 @ControllerAdvice 类中的方法级注解,帮助在任何 @RequestMap原创 2022-01-10 20:52:29 · 575 阅读 · 0 评论 -
Spring WebFlux框架 - 带注解的控制器
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122400241?spm=1001.2014.3001.55024、带注解的控制器Spring WebFlux 提供了基于注解的编程模型,其中 @Controller 和 @RestController 组件使用注解来表达请求映射、请求输入、处理异常等。 带注解的控制器具有灵活的方法签名,无需扩展基类或实现特定接口。以下清单显示了一个基本示例:@RestControllerpubli原创 2022-01-10 20:10:40 · 948 阅读 · 0 评论 -
Spring WebFlux框架 - 响应核心补充 和 DispatcherHandler
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122398000?spm=1001.2014.3001.55022.4 异常在 WebHandler API 中,您可以使用 WebExceptionHandler 来处理来自 WebFilter 实例链和目标 WebHandler 的异常。 使用 WebFlux Config 时,注册 WebExceptionHandler 就像将其声明为 Spring bean 并(可选)通过在 be原创 2022-01-09 22:25:38 · 1174 阅读 · 0 评论 -
Spring WebFlux框架 - 初识
Spring Framework 中包含的原始 Web 框架 Spring Web MVC 是专门为 Servlet API 和 Servlet 容器构建的。 响应式堆栈 Web 框架 Spring WebFlux 是在 5.0 版本中添加的。 它是完全非阻塞的,支持 Reactive Streams 背压,并在 Netty、Undertow 和 Servlet 3.1+ 容器等服务器上运行。两个 Web 框架都反映了它们的源模块(spring-webmvc 和 spring-webflux)的名称,并在原创 2022-01-09 20:54:25 · 1073 阅读 · 0 评论 -
springmvc 框架使用 HiddenHttpMethodFilter 过滤器处理 PUT 和 DELETE 请求
一、问题的产生如果你还记得 form 表单的请求方式,那么你应该找到在 form 表单中只有两种请求方式 GET、POST,那么 PUT 请求和 DELETE 请求是怎么处理的呢?接下来带你去了解一下。二、HiddenHttpMethodFilter 过滤器的认识对如何处理 PUT 和 DELETE 请求,可以使用 HiddenHttpMethodFilter 去进行处理。我们先来看一下该类中的 doFilterInternal 方法,这是整个过滤器的核心方法:protected void d原创 2021-12-28 15:04:39 · 1126 阅读 · 0 评论 -
springMVC 中 使用 Thymeleaf 模板引擎项目入门
一、首先创建一个简单的 maven 项目 springmvc-thymeleaf 作为父项目,删除 src 目录,之后再创建一个 子模块 springmvc-thymeleaf-demo,具体流程不再叙述。二、在子模块中导入项目所需 jar 包(当然你也可以把一些所有模块都需要的 jar 包导入写在 父项目的 pom.xml 文件中),我这里就直接放在子模块的 pom.xml 中。<?xml version="1.0" encoding="UTF-8"?><project xmln原创 2021-12-27 20:55:37 · 1105 阅读 · 1 评论 -
spring框架学习 - Spring5 整合 JUint 单元测试框架
一、Spring5 整合 Junit5 单元测试框架Spring5 可以整合Junit4 或者 Junit5 使用,但是两者整合时有一些细微的差别,本文主要讲的是 Junit5 的使用。在开始之前先导入需要的 jar 包。<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <versio原创 2021-12-27 17:22:50 · 523 阅读 · 0 评论 -
spring框架学习 - Spring MVC 之 MVC 配置
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122150147?spm=1001.2014.3001.550211、MVC 配置MVC Java 配置和 MVC XML 命名空间提供适用于大多数应用程序的默认配置和一个配置 API 来自定义它。有关配置 API 中不可用的更高级自定义,请参阅高级 Java 配置和高级 XML 配置。您不需要了解由 MVC Java 配置和 MVC 命名空间创建的底层 bean。 如果您想了解更多信原创 2021-12-27 11:38:15 · 716 阅读 · 0 评论 -
spring框架学习 - Spring MVC 之 URI 链接
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122148706?spm=1001.2014.3001.55025、URI 链接本节介绍 Spring Framework 中可用于处理 URI 的各种选项。5.1 UriComponentsUriComponentsBuilder 帮助从带有变量的 URI 模板构建 URI,如以下示例所示:UriComponents uriComponents = UriComponentsBui原创 2021-12-25 23:24:36 · 760 阅读 · 0 评论 -
spring框架学习 - Spring MVC 之 Functional Endpoints
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122138033?spm=1001.2014.3001.55024、Functional EndpointsSpring Web MVC 包括 WebMvc.fn,这是一个轻量级的函数式编程模型,其中函数用于路由和处理请求,契约旨在实现不变性。 它是基于注解的编程模型的替代方案,但运行在同一个 DispatcherServlet 上。4.1 概述在 WebMvc.fn 中,使用 Han原创 2021-12-25 21:41:25 · 1048 阅读 · 0 评论 -
spring框架学习 - Spring MVC 之 带注解的控制器(补充1)
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122136444?spm=1001.2014.3001.55023.3.14 Multipart启用 MultipartResolver 后,带有 multipart/form-data 的 POST 请求的内容被解析并作为常规请求参数访问。 以下示例访问一个常规表单字段和一个上传的文件:@Controllerpublic class FileUploadController {原创 2021-12-25 00:34:15 · 581 阅读 · 0 评论 -
springmvc 项目搭建(maven)- idea 2020
Spring MVC 项目创建(maven) - idea 2020原创 2021-12-24 20:47:50 · 646 阅读 · 2 评论 -
spring框架学习 - Spring MVC 之 带注解的控制器(补充)
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122135897?spm=1001.2014.3001.55023.3.2 返回值下表描述了支持的控制器方法返回值。 所有返回值都支持反应类型。控制器方法返回值描述@ResponseBody返回值通过 HttpMessageConverter 实现转换并写入响应。 请参阅 @ResponseBody。HttpEntity<B>, ResponseE原创 2021-12-24 22:51:06 · 209 阅读 · 0 评论 -
spring框架学习 - Spring MVC 之 带注解的控制器
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122124880?spm=1001.2014.3001.55023、带注解的控制器Spring MVC 提供了一个基于注解的编程模型,其中 @Controller 和 @RestController 组件使用注解来表达请求映射、请求输入、异常处理等。 带注解的控制器具有灵活的方法签名,无需扩展基类或实现特定接口。 下面的例子展示了一个由注解定义的控制器:@Controllerpubli原创 2021-12-24 21:40:06 · 542 阅读 · 0 评论 -
spring框架学习 - Spring MVC 之 DispatcherServlet 补充 及 过滤器
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122123699?spm=1001.2014.3001.55021.7 拦截所有 HandlerMapping 实现都支持处理程序拦截器,当您希望将特定功能应用于某些请求 — ,例如,检查主体时,这些处理程序拦截器非常有用。 拦截器必须从 org.springframework.web.servlet 包中实现 HandlerInterceptor 和三个方法,这些方法应该提供足够的灵活性原创 2021-12-24 14:38:22 · 625 阅读 · 0 评论 -
spring框架学习 - Spring MVC 开篇 及 DispatcherServlet
一、开始1、什么是MVCMVC 是一种软件架构的思想,将软件按照模型、视图、控制器来划分。M:Model,模型层,指工程中的 JavaBean,作用是处理数据。JavaBean 分为两类:一类称为实体类Bean:专门存储业务数据的,如Student、User 等一类称为业务处理Bean:指Service 或 Dao对象,专门用于处理业务逻辑和数据访问。V :View,视图层,指工程中的 html 或 jsp 等页面,作用是与用户进行交互,展示数据。C :Controller,控制层,指工原创 2021-12-24 11:47:48 · 649 阅读 · 0 评论 -
mybatis 与 spring框架整合 之 使用 SqlSession 和 注入映射器 的介绍
接上一博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122111997?spm=1001.2014.3001.5501四、使用 SqlSession在 MyBatis 中,你可以使用 SqlSessionFactory 来创建 SqlSession。 一旦你获得一个 session 之后,你可以使用它来执行映射了的语句,提交或回滚连接,最后,当不再需要它的时候,你可以关闭 session。 使用 MyBatis-Spring 之后,你不再需要直转载 2021-12-23 20:27:38 · 1802 阅读 · 0 评论 -
mybatis 与 spring框架整合入门
一、什么是 mybatis-spring?MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。它将允许 MyBatis 参与到 Spring 的事务管理之中,创建映射器 mapper 和 SqlSession 并注入到 bean 中,以及将 Mybatis 的异常转换为 Spring 的 DataAccessException。 最终,可以做到应用代码不依赖于 MyBatis,Spring 或 MyBatis-Spring。二、mybatis-spring 入门原创 2021-12-23 13:15:06 · 281 阅读 · 0 评论 -
mybatis 与 spring框架整合 之 SqlSessionFactoryBean 和 事务管理
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122104494?spm=1001.2014.3001.5502二、SqlSessionFactoryBean在基础的 MyBatis 用法中,是通过 SqlSessionFactoryBuilder 来创建 SqlSessionFactory 的。而在 MyBatis-Spring 中,则使用 SqlSessionFactoryBean 来创建。1、设置要创建工厂 bean,将下面的原创 2021-12-23 17:28:12 · 2133 阅读 · 0 评论 -
spring框架学习 - Data Access 补充
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122086818?spm=1001.2014.3001.5502二、DAO 支持Spring 中的数据访问对象 (DAO) 支持旨在以一致的方式轻松使用数据访问技术(例如 JDBC、Hibernate 或 JPA)。 这使您可以相当轻松地在上述持久性技术之间切换,并且还可以让您编写代码而不必担心捕获特定于每种技术的异常。1、一致的异常层次结构Spring 提供了从特定于技术的异常(例如原创 2021-12-22 22:14:24 · 934 阅读 · 0 评论 -
spring框架学习 - Data Access之 事务管理 - 声明式事务管理
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122085016?spm=1001.2014.3001.55024、声明式事务管理大多数 Spring 框架用户选择声明式事务管理。 此选项对应用程序代码的影响最小,因此最符合非侵入式轻量级容器的理想。Spring 框架的声明式事务管理通过 Spring 面向方面的编程 (AOP) 成为可能。 然而,由于事务方面代码随 Spring Framework 发行版一起提供,并且可以以样板原创 2021-12-22 17:10:10 · 799 阅读 · 0 评论 -
spring框架学习 - Data Access之 事务管理介绍
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122074555?spm=1001.2014.3001.5502一、事务管理全面的事务支持是使用 Spring 框架的最令人信服的原因之一。 Spring 框架为事务管理提供了一致的抽象,具有以下优点:跨不同事务 API 的一致编程模型,例如 Java 事务 API (JTA)、JDBC、Hibernate 和 Java Persistence API (JPA)。支持声明式事务管理原创 2021-12-22 15:14:51 · 695 阅读 · 0 评论 -
spring框架学习 - Spring AOP API 补充1
接上一博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122072949?spm=1001.2014.3001.55028、使用“自动代理”工具到目前为止,我们已经考虑过使用 ProxyFactoryBean 或类似的工厂 bean 来显式创建 AOP 代理。Spring 还允许我们使用“自动代理”bean 定义,它可以自动代理选定的 bean 定义。 这是建立在 Spring 的“bean 后处理器”基础设施之上的,它允许在容器加载时修改任何原创 2021-12-21 22:58:18 · 277 阅读 · 0 评论 -
spring框架学习 - Spring AOP API 补充
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122071009?spm=1001.2014.3001.55024、使用 ProxyFactoryBean 创建 AOP 代理如果您将 Spring IoC 容器(ApplicationContext 或 BeanFactory)用于您的业务对象(您应该这样做!),您希望使用 Spring 的 AOP FactoryBean 实现之一。 (请记住,工厂 bean 引入了一个间接层,让它创建原创 2021-12-21 21:59:05 · 207 阅读 · 0 评论 -
spring框架学习 - Spring AOP API
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122052489?spm=1001.2014.3001.5502八、Spring AOP API前一章通过@AspectJ 和基于模式的方面定义描述了 Spring 对 AOP 的支持。 在本章中,我们将讨论较低级别的 Spring AOP API。 对于常见的应用程序,我们推荐使用带有 AspectJ 切入点的 Spring AOP,如前一章所述。1、Spring 中的切入点 API原创 2021-12-21 20:43:44 · 387 阅读 · 0 评论 -
spring框架 - AspectJ 实践
AppConfig.java@Configuration@ComponentScan("org.aspect")@EnableAspectJAutoProxypublic class AppConfig {}UserService.java@Componentpublic class UserService { public void findUsers() { System.out.println("public void findUsers()...".原创 2021-12-21 00:06:27 · 307 阅读 · 0 评论 -
spring框架学习 - 使用 Spring 的面向切面编程 补充1
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122050740?spm=1001.2014.3001.55026、选择要使用的 AOP 声明样式一旦您确定一个方面是实现给定需求的最佳方法,您如何在使用 Spring AOP 或 AspectJ 以及在 Aspect 语言(代码)样式、@AspectJ 注解样式或 Spring XML 样式之间做出决定? 这些决策受到许多因素的影响,包括应用程序需求、开发工具和团队对 AOP 的熟悉程度原创 2021-12-20 23:50:50 · 441 阅读 · 0 评论 -
spring框架学习 - 使用 Spring 的面向切面编程 之 基于 Schema 的 AOP 支持
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122049937?spm=1001.2014.3001.55025、基于模式的 AOP 支持如果您更喜欢基于 XML 的格式,Spring 还支持使用 aop 命名空间标签定义方面。 支持与使用 @AspectJ 样式时完全相同的切入点表达式和建议类型。 因此,在本节中,我们专注于该语法,并请读者参考上一节(@AspectJ 支持)中的讨论,以了解编写切入点表达式和通知参数的绑定。要使用原创 2021-12-20 21:48:20 · 427 阅读 · 0 评论 -
spring框架学习 - 使用 Spring 的面向切面编程补充
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122047698?spm=1001.2014.3001.55024.4 声明通知Advice 与切入点表达式相关联,并在与切入点匹配的方法执行之前、之后或周围运行。 切入点表达式可以是对命名切入点的简单引用,也可以是就地声明的切入点表达式。4.4.1 前置通知您可以使用 @Before 注解在方面声明 before 通知:import org.aspectj.lang.annotat原创 2021-12-20 21:17:25 · 303 阅读 · 0 评论 -
spring框架学习 - 使用 Spring 的面向切面编程
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122029896?spm=1001.2014.3001.5502七、使用 Spring 的面向切面编程面向切面编程 (AOP) 通过提供另一种思考程序结构的方式来补充面向对象编程 (OOP)。 OOP 中模块化的关键单位是类,而 AOP 中模块化的单位是方面。 方面能够实现跨越多种类型和对象的关注点(例如事务管理)的模块化。 (这种关注点在 AOP 文献中通常被称为“横切”关注点。)Sp原创 2021-12-20 19:31:10 · 712 阅读 · 0 评论 -
spring框架学习 - Spring 表达式语言 (SpEL) 补充
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122028798?spm=1001.2014.3001.55023、语言引用本节介绍 Spring 表达式语言的工作原理。 它涵盖以下主题:字面量表达式属性、数组、列表、映射和索引器内联列表内嵌映射数组构造方法运算符类型构造函数变量功能Bean 引用三元运算符(If-Then-Else)The Elvis OperatorSafe Navigation Op原创 2021-12-19 21:56:57 · 427 阅读 · 0 评论 -
spring框架学习 - Spring 表达式语言 (SpEL)
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122019172?spm=1001.2014.3001.5502六、Spring 表达式语言 (SpEL)Spring 表达式语言(简称“SpEL”)是一种强大的表达式语言,支持在运行时查询和操作对象图。 语言语法类似于统一 EL,但提供了额外的功能,最显着的是方法调用和基本的字符串模板功能。虽然还有其他几种可用的 Java 表达式语言 — OGNL、MVEL 和 JBoss EL,仅举原创 2021-12-19 20:27:37 · 1737 阅读 · 0 评论 -
spring框架学习 - 校验、数据绑定和类型转换补充
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122018026?spm=1001.2014.3001.55025、Spring 字段格式正如上一节所讨论的,core.convert 是一个通用的类型转换系统。 它提供了一个统一的 ConversionService API 以及一个强类型的 Converter SPI,用于实现从一种类型到另一种类型的转换逻辑。 Spring 容器使用此系统绑定 bean 属性值。 此外,Spring原创 2021-12-19 00:27:20 · 487 阅读 · 0 评论 -
spring框架学习 - 校验、数据绑定和类型转换
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122009581?spm=1001.2014.3001.5502五、校验、数据绑定和类型转换将验证视为业务逻辑有利有弊,Spring 提供了一种验证(和数据绑定)设计,不排除其中任何一个。 具体来说,验证不应该与 Web 层绑定,并且应该易于本地化,并且应该可以插入任何可用的验证器。 考虑到这些问题,Spring 提供了一个 Validator (验证器)契约,它在应用程序的每一层中既是基原创 2021-12-19 00:00:38 · 445 阅读 · 0 评论 -
spring框架学习 - Resources 补充
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/122006077?spm=1001.2014.3001.55027、作为依赖的资源如果 bean 本身要通过某种动态过程确定和提供资源路径,那么 bean 使用 ResourceLoader 或 ResourcePatternResolver 接口加载资源可能是有意义的。 例如,考虑加载某种模板,其中所需的特定资源取决于用户的角色。 如果资源是静态的,完全消除使用 ResourceLoad原创 2021-12-18 15:38:13 · 433 阅读 · 0 评论 -
spring框架学习 - Resources
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/121998154?spm=1001.2014.3001.5502四、Resources本章介绍 Spring 如何处理资源以及如何在 Spring 中使用资源。1、介绍不幸的是,Java 的标准 java.net.URL 类和各种 URL 前缀的标准处理程序不足以满足所有对低级资源的访问。 例如,没有标准化的 URL 实现可用于访问需要从类路径或相对于 ServletContext 获原创 2021-12-18 01:01:10 · 591 阅读 · 0 评论 -
spring框架学习 - spring IoC 之 ApplicationContext 的附加功能补充 及 BeanFactory
接上一篇博客:https://blog.youkuaiyun.com/qq_43605444/article/details/121996675?spm=1001.2014.3001.550216.3 便捷获取底层资源为了优化使用和理解应用程序上下文,您应该熟悉 Spring 的资源抽象,如参考资料中所述。应用程序上下文是一个 ResourceLoader,可用于加载 Resource 对象。 资源本质上是 JDK java.net.URL 类的功能更丰富的版本。 事实上,Resource 的实现在适当的地方包装原创 2021-12-17 16:03:42 · 598 阅读 · 0 评论