Spring
文章平均质量分 84
骑个小蜗牛
个人日常学习随笔记录
展开
-
SpringBoot使用注解实现参数校验
参数校验- Validation- Hibernate Validator校验注解注解通用属性- Validator 内置注解- Hibernate Validator 附加注解校验开启@Valid和@Validated校验分类- Controller校验- Spring Bean校验校验使用- Controller:参数对象校验- Spring Bean:方法返回值对象校验- Spring Bean:方法参数对象校验分组校验嵌套校验自定义注解原创 2023-12-05 21:17:34 · 2240 阅读 · 0 评论 -
Spring Retry方法重试
介绍使用注解方式:@RetryableRetryable注解的属性Retryable注解的使用模板方式:RetryTemplate原创 2023-11-13 22:27:50 · 1548 阅读 · 2 评论 -
Spring计时器StopWatch
StopWatch介绍StopWatch属性详解StopWatch方法详解StopWatch使用示例原创 2023-06-27 22:34:57 · 6441 阅读 · 0 评论 -
Jackson注解使用分析
Jackson常用注解1. 常用注解汇总2. 注解使用分析@JsonInclude@JsonAnyGetter@JsonAnySetter@JsonNaming@JsonAutoDetect@JacksonInject@JsonAlias@JsonValue@JsonMerge@JsonRawValue@JsonEnumDefaultValue@JsonFilter@JsonSerialize@JsonDeserialize@JacksonAnnotation@Jacks原创 2023-02-02 22:19:51 · 5904 阅读 · 0 评论 -
Spring路径匹配器AntPathMatcher
PathMatcher接口使用场景接口方法AntPathMatcher类匹配规则主要方法1. isPattern2. match3. matchStart4. extractPathWithinPattern5. extractUriTemplateVariables6. getPatternComparator7. combine原创 2022-11-13 15:21:03 · 11378 阅读 · 0 评论 -
SptingBoot过滤器Filter的使用方式
Filter的工作流程自定义Filter的使用方式1. @WebFilter+@ServletComponentScan使用方法@WebFilter@ServletComponentScan常见问题分析2. @Component+@Order使用方法3. FilterRegistrationBean(推荐)使用方法原创 2022-11-02 19:52:59 · 6468 阅读 · 1 评论 -
SpringBoot消息转换器:HttpMessageConverter
SpringBoot消息转换器:HttpMessageConverter消息转化器的作用消息转化器的主要方法默认配置的消息转化器注意事项原创 2022-06-02 14:58:26 · 11010 阅读 · 0 评论 -
Spring Value注解的使用
文章目录使用方法1. 普通值2. 资源3. 配置文件配置值4. 随机值5. Spring Bean6. 更多SpEL用法@Value注解作用于字段、方法、参数、注解属性。使用方法1. 普通值直接赋值,支持字符串、包装类、基本类型的直接赋值。 @Value("str") private String str1; @Value("1") private Integer int1; @Value("2") private int int2;2. 资源原创 2022-05-02 13:13:29 · 9743 阅读 · 0 评论 -
Spring SpEL表达式的使用
一、SpEL介绍二、SpEL用法1. 在@Value注解中使用2. 在XML配置中使用3. 在代码中创建Expression对象三、SpEL原理1. 解析器:ExpressionParser2. 表达式:Expression3. 上下文:EvaluationContext使用流程四、表达式语法1. 基本表达式① 字面量表达式② 算数运算表达式③ 关系运算表达式④ 逻辑运算表达式⑤ 字符串连接及截取表达式⑥ 三目运算⑦ Elivis表达式⑧ 正则表达式2. 类相关表达式原创 2022-05-01 21:18:12 · 13928 阅读 · 1 评论 -
Spring+SpringMVC项目中的容器初始化过程
Spring+SpringMVC项目容器初始化过程初始化过程简单概括初始化过程初始化流程图Filter、Servlet等无法自动注入Bean原创 2022-04-16 17:23:30 · 15366 阅读 · 1 评论 -
Web服务器、Web容器、Servlet容器、Spring容器、SpringMVC容器
一、服务器和容器1. Web服务器2. Web容器① Web容器的组成② Web容器的作用3. Servlet容器① Servlet容器的作用② Servlet容器的工作过程③ Servlet④ Servlet的工作过程⑤ Servlet变化过程4. Spring容器5. SpringMVC容器6. SpringBoot容器二、容器相关知识归纳1. 各种容器的管理范围2. 为何设计父子容器3. 父子容器的事务问题三、各种项目中的容器1. SpringMVC项目① 项目原创 2022-04-13 21:44:52 · 18986 阅读 · 3 评论 -
Spring中Bean的作用域
Spring Bean的作用域单例Bean与原型Bean对比单例bean非线程安全单例Bean并不是指Spring容器中只能存在一个该类型的Bean原创 2022-04-11 21:46:00 · 16439 阅读 · 0 评论 -
@Autowired与@Resource区别
一、前言Spring Bean覆盖配置二、@Autowired注解处理器装配方式注解属性作用范围1. 成员变量2. 构造器3. 方法4. 参数5. 注解使用技巧同一类型多个bean@Primary的使用@Qualifier的使用装配多个实例@Autowired装配未生效三、@Resource注解处理器装配方式注解属性作用范围1. 成员变量2. 方法3. 类四、@Autowired与@Resource对比二者对比@Autowired装配流程@Resou原创 2022-04-09 18:24:22 · 26928 阅读 · 4 评论 -
Spring IOC加载流程
Spring IOC、Spring Bean加载过程、Spring三级缓存、循环依赖、动态代理原创 2022-03-26 21:58:28 · 18219 阅读 · 0 评论 -
Spring三级缓存源码
Spring三级缓存类源码分析原创 2022-03-26 12:22:28 · 18477 阅读 · 0 评论 -
SpringBoot全局异常处理
SpringBoot全局异常处理原创 2022-03-09 23:17:21 · 43533 阅读 · 3 评论 -
Spring与SpringBoot对比
Spring开发过程通常包括使用Maven、Gradle等工具搭建工程web.xml定义Spring的DispatcherServlet完成启动Spring MVC的配置文件编写响应HTTP请求的Controller以及服务部署到Tomcat Web服务器等步骤基于传统Spring框架进行开发的开发过于于复杂和繁重的配置工作。SpringBoot开发特点编码方面:只需要在maven中添加依赖并实现一个方法就可以提供微服务架构所推荐的RESTful风格接口。配置方面:简单化—>原创 2021-12-13 23:15:00 · 7186 阅读 · 0 评论 -
Spring监听器
事件监听概念应用程序事件允许我们发送和接收特定事件,我们可以根据需要处理这些事件。事件用于在松散耦合的组件之间交换信息。由于发布者和订阅者之间没有直接耦合,因此可以在不影响发布者的情况下修改订阅者,反之亦然。事件监听三要素事件源:事件对象的产生者,任何一个事件都有一个来源ApplicationEvent事件监听器:事件框架或组件收到一个事件后,需要通知所有相关的事件监听器来进行处理。这些监听器统一存储在事件监听器注册表中。ApplicationListener(编码式事件监听器)@Event原创 2021-12-13 21:45:00 · 16008 阅读 · 1 评论 -
spring过滤器、拦截器
二者对比过滤器是基于函数回调;拦截器是基于java的反射机制的。过滤器依赖与servlet容器,拦截器不依赖与servlet容器(拦截器是Spring容器内的,是Spring框架支持的)。因为Filter是Servlet规范中规定的,所有只能用于WEB中;而拦截器既可以用于WEB,也可以用于Application、Swing中。过滤器是在请求进入tomcat容器后,但请求进入servlet之前进行预处理的;请求结束返回也是,是在servlet处理完后,返回给前端之前。拦截器可以深入..原创 2021-11-26 19:30:00 · 18464 阅读 · 2 评论 -
配置中心实现定时任务动态更新
一、@RefreshScope导致定时任务失效当定时任务使用@RefreshScope想达到配置动态刷新时,你会发现定定时任务失效了,失效的原因和@RefreshScope的原理有关:配置的刷新会导致原来的对象被清除,需要重新使用对象才能出发生成新对象,但因为对象没了,又没法重新使用对象(死循环),所以导致了定时任务的失效。(这样描述是否恰当)二、定时任务的动态刷新实现方式1. @RefreshScope+RefreshScopeRefreshedEventRefreshScopeRefreshed原创 2021-11-25 20:15:00 · 16829 阅读 · 0 评论 -
SpringBoot获取配置的方式
一、使用@ConfigurationProperties@Data@Component@ConfigurationProperties(prefix = "jwt")public class JwtConfig { private String encryptAESKey; private String encryptJWTKey; private String tokenExpireTime;}二、使用@Value@Data@Componentpublic cl原创 2021-11-23 23:28:23 · 11283 阅读 · 0 评论 -
@Conditional注解及扩展注解
@Conditional注解@Conditional注解是从spring4.0才有的,可以用在任何类型或者方法上面,通过@Conditional注解可以配置一些条件判断,当所有条件都满足的时候,被@Conditional标注的目标才会被spring容器处理。可以通过@Conditional来控制bean是否需要注册,控制被@Configuration标注的配置类是需要需要被解析等。@Target({ElementType.TYPE, ElementType.METHOD})@Retention(Re转载 2021-11-03 10:28:23 · 8338 阅读 · 0 评论 -
Spring请求响应Header以及参数绑定
一、Content-Type详解在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。常见的媒体格式类型:text/html : HTML格式text/plain :纯文本格式text/xml : XML格式image/gif :gif图片格式image/jpeg :jpg图片格式image/png:png图片格式以application开头的媒体格式类型:application/xhtml+xml :XHTML格式application/xml原创 2021-09-21 17:08:05 · 10322 阅读 · 0 评论 -
Spring参数解析器
RequestMappingHandlerAdapter请求映射处理适配器HandlerMethodArgumentResolver参数解析器HandlerMethodArgumentResolver和AbstractNamedValueMethodArgumentResolver是解析策略的上层定义和抽象。关于这两个类可以参考https://securitit.blog.csdn.net/article/details/110110872的解析。HandlerMethodArgumentRe原创 2021-09-21 11:52:22 · 4911 阅读 · 0 评论 -
Springboot2 configureMessageConverters自定义消息转换器
实现全局http请求Long类型转换为String类型1.自定义WebMvcConfig实现WebMvcConfigurer并复写configureMessageConverters方法,添加自定义转换器@Configurationpublic class WebMvcConfig implements WebMvcConfigurer { /** * 添加自定义转换器 * @param converters */ @Override public原创 2021-09-13 23:52:49 · 11925 阅读 · 5 评论 -
SpringBoot配置加载顺序
一、配置属性加载的顺序1、开发者工具 `Devtools` 全局配置参数;2、单元测试上的 `@TestPropertySource` 注解指定的参数;3、单元测试上的 `@SpringBootTest` 注解指定的参数;4、命令行指定的参数,如 `java -jar springboot.jar --name="Javaok"`;5、命令行中的 `SPRING_APPLICATION_JSONJSON` 指定参数, 如 `java -Dspring.application.json='{原创 2021-09-12 22:15:23 · 17590 阅读 · 1 评论 -
Validation参数校验注解
注解描述@AssertFalse被注解的元素必须为false@AssertTrue被注解的元素必须为True@DecimalMax(value)被注解的元素必须为一个数字,其值必须小于等于指定的最小值@DecimalMin(Value)被注解的元素必须为一个数字,其值必须大于等于指定的最小值@Digits(integer=, fraction=)被注解的元素必须为一个数字,其值必须在可接受的范围内@Future被注解的元素必须是日期,必须是将来日...转载 2021-09-08 14:01:42 · 14027 阅读 · 0 评论 -
Java各种jar包描述
一、springboot整合相关jarspring-boot-starter Spring Boot核心starter,包含自动配置、日志、yal配置文件支持spring-boot-starter-actuator 准生产特性、用于监控和管理应用spring-boot-starter-remote-shell 提供基于ssh协议的监控和管理spring-boot-starter-amqp 使用spring-rabbitlai zhichi AMQPspring-boot-starter-aop原创 2021-07-26 18:08:01 · 1791 阅读 · 0 评论