搜索:spring
Spring Boot 3.x中为·Spring Security自定义错误输出
Spring Security 抛出的异常都是403, 而且只有状态码,没有输出,需要对其自定义,6.0后写法有些变动,记录一下: ``` @Configuration @EnableWebSecurity @RequiredArgsConstructor public class SecurityConfigurer { private final JWT
阅读全文使用 Spring Boot 3 和 Spring Security 6 进行 JWT 认证和授权
外网翻译文章,[原文链接](https://medium.com/@truongbui95/jwt-authentication-and-authorization-with-spring-boot-3-and-spring-security-6-2f90f9337421)。 在我学习 Spring Security 的过程中,我曾经思考过是否有其他开发者也
阅读全文Spring boot基础: 国际化
在Spring Boot中,国际化是通过`MessageSource`和`LocalResolver`两个核心接口来实现。 Spring Boot提供了自动配置类来简化国际化的配置,其中最重要的配置类是`MessageSourceAutoConfiguration`和` LocaleCharsetMappingAutoConfiguration`。 `Mes
阅读全文Spring Data Jpa配置多数据源的方法
要在项目中为Spring Data JPA配置超过一个数据源,就需要创建多个`Data Source Bean`和对应的`EntityManagerFactory`.以下是创建步骤。 #### 第1步 配置DataSource 在`application.yaml`里添加: ``` spring: datasource: first: url: jdbc:m
阅读全文Spring Boot: AutoConfigurationImportFilter过滤器
在Spring Boot中,`AutoConfigurationImportFilter`是一个接口,用于控制自动配置类的导入过程,从而影响应用程序的自动配置过程,它的作用和原理是允许开发者通过自定义过滤器来决定哪些自动配置类应该被包含或排除,以达到更灵活第管理自动配置的目的。 ### 作用 1. **过滤自动配置类** 允许开发者根据特定条件过滤掉不需要的
阅读全文Spring Booter: AutoConfigurationExcludeFilter过滤器
`CommonentScan`另一个默认配置的过滤器就是`AutoConfigurationExcludeFilter`. 在Spring Boot中,`AutoConfigurationExcludeFilter`是一个实现了`TypeFilter`接口的类。它的作用是在自动配置过程中排除不需要的自动配置类。这个过滤器可以帮助开发者精细控制哪些自动配置类应
阅读全文Spring Boot: TypeExcludeFilter过滤器
在Spring Boot中,`TypeExcludeFilter`是`@CommonentScan`注解设定的两个默认过滤器中的一个。 `TypeExcludeFilter`是Spring boot提供的一种机制,用于在测试中排除某些类型的Bean。这在大型应用程序中非常有用,可以防止某些bean在测试中被加载,从而加快测试速度或比年冲突。 使用方法: ##
阅读全文Spring Boot: ImportBeanDefinitionRegistrar
在Spring Boot中,`ImportBeanDefinitionRegistrar`是一个允许动态注册bean定义的接口。它提供了一种机制,可以在运行时根据特定逻辑动态地向Spring上下文中注册bean。 `ImportBeanDefinitionRegistrar`的主要作用是允许开发者在应用上下文初始化时动态地注册一个活多个bean定义,这种能录
阅读全文Spring Boot: ImportSelector接口
在Spring Boot中,`ImportSelector`是一个允许动态选择和导入配置类的接口,它的主要作用是根据某些条件动态决定哪些配资类需要被导入Spring应用的上下文中。 ### 接口定义 ``` public interface ImportSelector { String[] selectImports(AnnotationMetadata
阅读全文Spring Boot扩展包:Lombok
Lombok是一个在Spring Boot工程中常用的开发者工具扩展包,它能以简单的注解的形式简化java代码,提高开发人员的开发效率。 Lombok是一个Java库,旨在通过自动化一些繁琐的编码任务来简化Java代码的编写。它通过提供一组注解来实现,这些注解可以自动生成通常需要手动编写的代码,如getter、setter、构造函数、equals、hashC
阅读全文Spring Boot基础功能:请求
### 1 常用注解 #### 1.1 @PathVariable 路径变量 `@PathVariable`注解与Restful风格路径匹配,可以用于方法的参数上,用于将URL中的变量绑定到方法的参数上。如果方法参数是一个Map 将会包含路径中所有的变量与值。 ``` @RequestMapping("/hospitals/{hsopitalID:[1-9]
阅读全文Spring Boot基础功能:控制器
`@Controller`标识一个类是控制器,控制器是 Spring MVC 框架中的组件,用于处理客户端请求并返回视图或数据给客户端。Spring Boot 的 @Controller 注解使得创建 Web 控制器变得简单,它可以处理不同类型的请求,执行相应的业务逻辑,并返回适当的响应。 ### 1 关联注解 控制器的功能大部分都是通过注解完成,于其去学习
阅读全文Spring Boot基础功能:CSRF
使用Spring Security防止CSRF跨域攻击。 添加Security依赖 ``` org.springframework.boot spring-boot-starter-freemarker org.springframework.security spring-security-web ``` 添加CsrfFilter ``` @SpringB
阅读全文Spring Boot基础功能:事件与监听器
### 1 监听器Listener 在Spring Boot中,监听器(Listener)用于监听应用程序中发生的事件,以便在事件发生时执行特定的逻辑。监听器模式用于解耦组件之间的耦合性,使得应用程序可以灵活地响应事件和状态变化。可以实现特定的接口或使用注解来实现监听器。 #### 1.1 监听器的作用 * **事件驱动** 监听器可以实现事件模式编程,让不
阅读全文Spring Boot基础功能:拦截器与过滤器
拦截器(Inteceptor)与过滤器(Filter)都用于在请求处理过程中执行特定操作,他们的实现方式、作用范围和使用场景上有一定的区别。 ### 1 拦截器 拦截器是一种动态拦截调用方法的机制,它可以在Spring Mvc中动态拦截控制器方法的执行,是基于Spring MVC框架的一部分。 **实现方式:** 拦截器通过实现HandlerIntercep
阅读全文Spring Boot基础功能: 路由
### 基于@RequestMapping注解的路由 ``` package com.sniucom.controller import org.springframework.stereotype.RequestController; import org.springframework.ui.Model; import org.springframewo
阅读全文Spring Data Jpa速通(1)
### 1 结构关系  #### 1.1 Repositry<> ```java package org.springframework.data.repository; import java.io.Serializable; /*
阅读全文为Spring Data Jpa配置Querydsl(spring + maven)
#### 1 添加依赖 ``` com.querydsl querydsl-jpa 5.0.0 com.querydsl querydsl-apt 5.0.0 provided jakarta.persistence jakarta.persistence-api 3.1.0 ``` ### 2 配置编译插件(生成Q类) ``` org.apache.mav
阅读全文对比MyBatis、Hibernate、Spring Data Jpa
### 1 概念和定位 | MyBatis | Hibernate | Spring Data Jpa | | ------------ | ------------ | ------------ | | 半自动ORM(Data Mapper)框架,需要手写SQL,只简化了JDBC操作 | 全自动ORM框架(Active Recorder),自动生成SQL语
阅读全文Spring中单例Bean与原型Bean的区别
#### 1 单例Bean和原型Bean分别是什么? 在面向对象编程中,单例是指当前进程、当前生命周期中只存在一个对象实例(主观),单例Bean就是某个Bean始终是单例,由Spring IOC容器维护,不管是使用`@AutoWired`还是`@Resource`注解,注入的对象都是容器实例化的同一个对象。 单例Bean默认是在加载配置文件或配置类时创建,但
阅读全文