注解spring crud xml

Spring Boot 配置 Jackson

什么是 Jackson ? 有什么作用? Jackson 是 Spring Boot 内置的 Json 解析框架,用来完成出入参的序列化和反序列化。通常,我们会在 Controller 类中方法上,加上 @RequestBody 或者 @ResponseBody 注解,Spring Boot 会自动 ......
Jackson Spring Boot

Spring Boot 配置拦截器

通过拦截器,我们可以针对特定 URI 做拦截,做相关业务处理,比如检查用户是否登录,打印每个请求的处理耗时等。 一、新建一个拦截器 新建登录验证类 LoginValidationInterceptor.java: package site.exception.springbootintercepto ......
Spring Boot

Python 类型注解

1. 类型注解 类型注解官方文档 3.5 版本时引入类型注解,提供数据类型的注解,方便第三方工具进行代码提示; 注意类型注解随着版本的更替情况,具体可参考官方文档中的说明; 1.1 变量类型注解 无法直接看出的需要类型注解 list1: list = [1, 2, 3] # 不需要 var1 = f ......
注解 类型 Python

Java注解笔记

当配置完Spring扫描指定包及其子包中的类时,会识别所有标记了@Component、@Controller、@Service、@Repository注解的类,由于@Configuration注解本身也用@Component标注了,Spring将能够识别出 @Configuration标注类 TOD ......
注解 笔记 Java

博学谷学习记录 自我总结 用心分享 | Spring源码刨析

别再盲目的说spring有三级缓存了,两个缓存只是启动时为了解决循环依赖,spring启动后只有一个缓存有用 一、什么是循环依赖 循环依赖指的就是循环引用,就是两个或多个 bean 相互之间的持有对方,比如 CircleA 引用 CircleB , CircleB 引用 CircleC, Circl ......
自我总结 源码 Spring

Spring Boot + Redis 延时双删功能,实战来了!

一、业务场景 在多线程并发情况下,假设有两个数据库修改请求,为保证数据库与redis的数据一致性,修改请求的实现中需要修改数据库后,级联修改Redis中的数据。 请求一:A修改数据库数据 B修改Redis数据 请求二:C修改数据库数据 D修改Redis数据 并发情况下就会存在A —> C —> D ......
实战 功能 Spring Redis Boot

Spring远程命令执行漏洞(CVE-2022-22965)原理研究

一、前置知识 SpringMVC参数绑定 为了方便编程,SpringMVC支持将HTTP请求中的的请求参数或者请求体内容,根据Controller方法的参数,自动完成类型转换和赋值。之后,Controller方法就可以直接使用这些参数,避免了需要编写大量的代码从HttpServletRequest中 ......
漏洞 命令 原理 Spring 22965

Java设计模式-策略模式-基于Spring实现

1、策略模式 1.1、概述 策略模式是一种行为设计模式,它允许在运行时选择算法的行为。它将算法封装在独立的策略类中,使得它们可以相互替换,而不影响客户端代码。这种模式通过将算法的选择从客户端代码中分离出来,提供了更大的灵活性和可维护性。 在Java中,策略模式的设计理念可以通过以下步骤实现: 定义一 ......
模式 设计模式 策略 Spring Java

Mybatis xml中in的用法

一、前端多选 传字符串类型给后端,用逗号(,)分隔开 后端用String类型接收该字段 /** * 所属部门编码list */ @ApiModelProperty(name = "departmentCodeList", value = "所属部门编码集") private String depar ......
Mybatis xml

Lombok 注解

Lombok IDEA中下载Lombok插件 导入Lombok的jar包 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version></dep ......
注解 Lombok

Mybatis之注解开发

使用注解开发 接口 @Select("select * from mybatis.user") List<User> getUserList(); mybaits-config.xml中配置 <mappers><!-- <mapper class="com.kuang.dao.UserMapper" ......
注解 Mybatis

@NotBlank注解String字段会报错

一、背景 项目场景: 这里说下@NotEmpty、@NotBlank、@NotNull 的区别: 它们所在的包:javax.validation.constraints.NotEmpty、javax.validation.constraints.NotBlank 、javax.validation. ......
注解 字段 NotBlank String

Log4j注解

Log4j 什么是Log4j Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件, 我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件 ......
注解 Log4j Log4 Log 4j

「Java开发指南」如何在MyEclipse中使用JPA和Spring管理事务?(一)

本教程中介绍一些基于JPA/ spring的特性,重点介绍JPA-Spring集成以及如何利用这些功能。您将学习如何: 为JPA和Spring设置一个项目 逆向工程数据库表来生成实体 实现创建、检索、编辑和删除功能 启用容器管理的事务 MyEclipse v2023.1.2离线版下载 MyEclip ......
开发指南 MyEclipse 事务 指南 Spring

Spring Boot读取resource目录下文件失败解决方案及分析

背景 最近有个需求,就是需要从resources目录下读取文件返回给用户。在idea中运行时,有些resources下文件读取工具类能够正常获取读取到文件。但是通过java –jar的方式去运行jar包,此时resources下文件读取工具类读取文件就失效了。通过查询搜索,了解到了是读取的方式导致文 ......
resource 解决方案 文件 目录 方案

Spring Boot+Thymeleaf+MyBatis--推荐一个后端练手极佳的商城项目

项目整体架构 newbee-mall ├── src/main/java └── ltd.newbee.mall ├── common // 存放相关的常量配置及枚举类 ├── config // 存放 web 配置类 ├── controller // 存放控制类,包括商城端和后台管理系统中的 c ......
Thymeleaf MyBatis 商城 项目 Spring

Spring Cloud原理

SpringCloud原理 如果还没有学习过,建议先了解以下微服务 什么是微服务? 传统单体架构 业务量小,所有代码放在一个项目里即可。这些项目部署在一台服务器即可。整个项目所有服务器都由这台服务器提供。 优点:项目架构简单,适用于小型项目 缺点:维护困难,所有模块公用一个数据库,项目要求所有技术统 ......
原理 Spring Cloud

使用 Open XML SDK 实现 html 富文本转换为 docx 格式示例

使用 Open XML SDK 实现 html 富文本转换为 docx 格式文档相对复杂。下面是一个示例。手动检测 <strong>和 <em> 标签并应用相应的文本格式。 using System; using DocumentFormat.OpenXml; using DocumentForma ......
示例 文本 格式 Open html

Java8新特性之重复注解和类型注解(五)

1. 重复注解介绍 Java8中引入的一个新注解@Repeatable,该注解只能标记在其他注解上,表示被标记的注解可以重复声明在类、属性、方法等上面;但@Repeatable注解还是得需要定义容器注解配合才能使用,所以也只是增强了代码的可读性; public class AnnotationTes ......
注解 特性 类型 Java8 Java

Spring Boot 跨域访问

出于安全的考虑,浏览器会禁止 Ajax 访问不同域的地址,在现如今微服务横行的年代,跨域访问是非常常见的。W3C 的 CORS (Cross-origin-resource-sharing) 规范中也已经允许跨域访问, 并被主流浏览器所支持,它们包括: Chrome 3+; Firefox 3.5+ ......
Spring Boot

Spring中StopWatch使用

import org.springframework.util.StopWatch; public class OTest { public static void main(String[] args) throws InterruptedException { StopWatch stopWat ......
StopWatch Spring

博学谷学习记录 自我总结 用心分享 | Spring Cloud高阶应用与原理

概述: 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Spring Cloud功能使用的层面,其底层的很多原理,很多人可能并不知晓。因此本文将通过大量的手绘图,给大家谈谈Spring Cloud微服务架构的底层原理。实际上,Sp ......
自我总结 高阶 原理 Spring Cloud

Spring Cloud 中的分布式组件五花八门,我到底该怎么学?

分布式架构的演进 在软件行业,一个应用服务随着功能越来越复杂,用户量越来越大,尤其是互联网行业流量爆发式的增长,导致我们需要不断的重构应用的结构来支撑庞大的用户量,最终从一个简单的系统主键演变成了一个非常复杂的可以支撑高并发的高可用的分布式架构,但是一个系统再复杂也是不断演变来的,所以从另一方面来说 ......

Spring @AliasFor 用法

1. Spring @AliasFor 用法 参考资料: https://blog.csdn.net/ab411919134/article/details/81782269 Auth authMeta = AnnotatedElementUtils.findMergedAnnotation(han ......
AliasFor Spring

【Spring】BeanPostProcessor后置处理器

BeanPostProcessor后置处理器可以在Bean初始化前后做一些事情,注意这里是bean的初始化,不是实例化,BeanPostProcessor是一个接口,里面提供了两个方法,分别为postProcessBeforeInitialization(初始化之前)和postProcessAfte ......
BeanPostProcessor 处理器 Spring

Spring MVC 与 Spring Webflux 性能测试,谁更强?

如果你已经使用 Spring 一段时间或者是编程初学者,你一定听说过使用响应式编程比传统的线程池风格更好。 自 Spring 诞生以来,开发者创建 Java 企业应用程序就变得更加容易。它提供了在企业环境中使用 Java 语言所需的一切,支持 Groovy 和 Kotlin 作为 JVM 上的替代语 ......
Spring 性能 Webflux MVC

Spring Boot中发送邮件时,如何让发件人显示别名

之前,我们通过一系列文章,介绍了如何在Spring Boot中发送邮件: 发送邮件 添加附件 引用静态资源 邮件模版 已经包含了大部分的应用场景。但最近DD在做YouTube中文配音的时候,碰到一个问题: 如上图所示,收件人在客户端收到的时候,显示的名称是邮箱的前缀,而不是我们的产品名称,也就是邮箱 ......
发件人 别名 邮件 Spring Boot

Spring Cloud 2023 新特性 同步网关

网关不支持传统 Servlet 容器 Spring Cloud Gateway 需要运行在提供的 Netty 运行时。它不能在传统的 Servlet 容器中工作,也不能在构建为 WAR 时工作。WebFlux 使用了异步非阻塞的编程模型,相较于传统的 MVC Servlet 需要理解和适应新的编程范 ......
网关 特性 Spring Cloud 2023

Spring Boot 日期格式化

我们先了解下,为什么需要配置日期格式化? 通常情况下,发起一个 Http 请求,Spring Boot 会根据请求路径映射到指定 Controller 上的某个方法的参数上,接着,Spring 会自动进行类型转换。 对于日期类型的参数,Spring 默认是没有配置如何将字符串转换成日期类型的 未配置 ......
日期 格式 Spring Boot

spring-mvc 请求流程学习

参考:01、基础入门-SpringBoot2课程介绍_哔哩哔哩_bilibili 请求进入HttpServlet 的doGet方法 然后通过实现类org.springframework.web.servlet.FrameworkServlet#doGet() 调用 org.springframewo ......
spring-mvc 流程 spring mvc