Spring & SpringBoot等框架技术
文章平均质量分 50
本专栏主要介绍Spring、SpringBoot、Spring Cloud相关技术学习和实践总结。
Andya_net
公众号:CodingTechWork
觉得为时已晚的时候,恰恰是最早的时候。
展开
-
Java | 数据一致性校验遇到的时间序列化格式不一致问题如何解决?
在开发过程中,有数据一致性校验需求。方法进行时间格式的统一准换。进行序列化时,我们可以使用。原创 2023-11-30 22:32:27 · 366 阅读 · 0 评论 -
SpringBoot | @EnableAutoConfiguration注解介绍
SpringBoot | @EnableAutoConfiguration注解介绍。原创 2023-11-12 17:50:17 · 221 阅读 · 0 评论 -
SpringBoot |引用外部jar包中的类方式
在本工程中引入外部jar包的类进行反射获取,如何获取?原创 2023-11-12 17:39:05 · 363 阅读 · 0 评论 -
SpringBoot——SpringBoot服务启动过程源码详解剖析!
SpringBoot服务启动流程源码剖析!不服来战!原创 2023-06-13 14:49:54 · 1243 阅读 · 0 评论 -
RPC——RPC协议介绍及原理详解
RPC(Remote Procedure Call Protocol) 远程过程调用协议。RPC是一种通过网络从远程计算机程序上请求服务,不需要了解底层网络技术的协议。RPC主要作用就是不同的服务间方法调用就像本地调用一样便捷。序列化:将消息对象转换为二进制流。反序列化:将二进制流转换为消息对象。原创 2023-06-11 12:10:52 · 25341 阅读 · 0 评论 -
SpringBoot——MyBatis-Plus源码分析及开发实践详解
在上一家公司一直使用,它是对基于JPA的数据访问层的增强支持,底层使用框架,支持使用原生L或查询语言。是基于的,它把代码和分离,即在代码和之间增加了新的一层,从而间接操作,大家可能觉得这个学习成本比较高,但其实也还好,都用不到文件等。 而在新的公司,使用的是,面向基于的模式,复杂的需要通过写文件来操作可能更直观友好,当结合就原地起飞了。本文主要总结使用的一些实践经验及源码分析。 是的增强工具,可以简化开发,提高我们的开发效率。原创 2023-04-25 14:22:56 · 1591 阅读 · 0 评论 -
SpringBoot——邮箱地址列表过滤出合法地址列表
SpringBoot——邮箱地址列表过滤出合法地址列表。原创 2023-04-23 14:38:09 · 232 阅读 · 1 评论 -
SpringBoot——@ConditionalOnProperty和@ConditionalOnProperty注解的详解和使用
在SpringBoot中可以通过该注解来控制是否生效。同时,我们可以通过该注解判断一个property属性,是否符合我们设定的配置值,符合则使该注解修饰的类或方法生效,否则不生效。该注解是的扩展注解。上述讲解的只能精准的匹配中的值进行控制,无法根据更多的属性值进行匹配(即使它有数组的value值,也只能配合进行与校验)我们可以通过注解进行其他属性值的表达式来校验。是执行Spel表达式,根据返回的布尔值判断是否符合条件。本来只想用用,用完更爽一些!原创 2023-04-17 16:27:25 · 1550 阅读 · 0 评论 -
SpringBoot——单元测试实践总结
mock是指在测试过程中,创建一个虚拟的对象来模拟指定对象的行为。PowerMock时一个Java单测模拟的框架,扩展了EasyMock和Mockito框架。PowerMock通过提供定制的类以及一些字节码篡改技巧进行模拟。PowerMock可模拟静态方法、私有方法、构造方法、final方法等。PowerMock支持JUnit和TestNG。原创 2023-04-16 20:06:07 · 1940 阅读 · 4 评论 -
SpringBoot——结合nacos实现动态刷新自定义线程池
1. 实现自定义线程池2. 实现线程池参数动态刷新原创 2023-04-07 17:31:11 · 280 阅读 · 0 评论 -
SpringBoot—枚举类属性值是否包含判断
在一些校验中,需判断一个值是否包含在枚举属性值中,如下总结枚举属性值包含判断功能。原创 2023-04-03 19:11:05 · 582 阅读 · 0 评论 -
SpringBoot—根据起始时间和终止时间获取ES索引名称范围
根据ES的起始时间字段,查询索引名称范围。前提,索引名称也是按照年月来命名,如。原创 2023-04-03 19:29:03 · 519 阅读 · 0 评论 -
SpringBoot—bean工具类封装
在Java开发代码中,经常会有一些对象Bean转换的需求,如下进行模板总结。原创 2023-04-03 19:05:52 · 273 阅读 · 0 评论 -
SpringBoot——校验参数是否包含在枚举属性值中
在一些枚举类调用中,我们需要对一些枚举的属性值做包含关系的判断,看是否匹配。通过反射机制获取对应方法,再获取对应的枚举属性值。下面是示例实现。原创 2023-03-08 11:09:18 · 917 阅读 · 0 评论 -
SpringBoot——启动服务时获取所有controller层的接口url列表
在服务启动时,获取服务的所有controller层接口url列表,通过实现服务启动时的操作。原创 2023-03-07 13:52:17 · 2797 阅读 · 0 评论 -
SpringBoot——Service单元测试(包含mybatis、mapper、私有方法等)
在写单元测试时,免不了遇到私有方法、数据库等一些操作,此时就需要一些mock处理。原创 2023-01-09 16:26:56 · 1741 阅读 · 0 评论 -
SpringBoot——单元测试error: can not execute. because can not find cache of TableInfo for entity!
在测试类中,添加mybatis的初始化构建。原创 2023-01-05 17:07:16 · 3625 阅读 · 4 评论 -
SpringBoot——controller单元测试无需启动上下文的方式
本次通过单独类进行单元测试,无需启动上下文。原创 2023-01-05 09:28:31 · 715 阅读 · 0 评论 -
SpringBoot——自定义拦截器校验认证前端token
解决横向越权的token校验拦截器。原创 2022-12-14 13:58:03 · 648 阅读 · 0 评论 -
Spring—拦截器和过滤器介绍
拦截器和过滤器的区别原创 2022-10-21 14:22:48 · 777 阅读 · 0 评论 -
SpringBoot——使用powermock进行静态方法的单元测试
单元测试:对静态方法引用后做单测原创 2022-08-24 14:21:19 · 1251 阅读 · 0 评论 -
SpringBoot—启动报错Exception in thread “main“ java.lang.ClassNotFoundException
问题解决方案pom.xml中查看中的内是否未加Application类。原创 2021-12-27 13:40:50 · 1135 阅读 · 0 评论 -
SpringBoot—JPA: javax.persistence.TransactionRequiredException
遇到Executing an update/delete query; javax.persistence.TransactionRequiredException异常如何解决?原创 2021-12-10 10:32:14 · 535 阅读 · 0 评论 -
SpringBoot—jasypt加解密库的使用方法
概述 在开发时,经常遇到数据库连接,不可避免需要使用密码,不管是开发还是测试环境,为了安全都不建议使用明文密码,我们都需要对明文密码进行加密使用,jasypt就是一个通用的加解密库。下面我们一起学习总结一下如何在代码和命令行中使用该工具库进行加解密。代码应用pom依赖在pom.xml中添加jasypt依赖<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId原创 2021-10-19 16:24:45 · 548 阅读 · 0 评论 -
SpringBoot—Entity父子类表@Inheritance和@MappedSuperclass
问题 在使用Spring Boot框架时,选用@Entity和@Table生成实体类对应的MySQL表,但是在开发过程中,同一个项目下可能存在一些共用字段的表,如何抽取这些共用字段?方案使用注解创建抽象Entity类,子类继承该抽象类即可,子类中使用@Entity和@Table注解进行表映射创建。@Inheritance使用方式:创建抽象实体类,使用注解@Entity@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)Inherit原创 2021-08-13 17:54:51 · 1195 阅读 · 0 评论 -
SpringBoot—@ComponentScan注解过滤排除某个类
问题 在抽取公共swagger配置类时,将swagger放入com.test.common.config包内,其他模块通过@ComponentScan进行进行引用,但有的模块在引用时,会扫描到common.config包路径下的其他配置类而引发错误,如引用到RedisConfig类而报错,此时需要将该类排除掉。解决方案 通过@ComponentScan中的excludeFilters属性进行排除类。@SpringBootApplication@ComponentScan(basePackage原创 2021-06-21 17:38:51 · 3613 阅读 · 0 评论 -
SpringBoot——Quartz定时框架的使用详解和总结
引言 一般在使用定时任务时,我们首先会想到使用@Scheduled注解去给某个任务设置定时时间进行定时执行。当定时任务过多时,或者有增删改查需求时,@Scheduled注解将无法满足我们的需求。本文一起学习总结Quartz定时框架的使用。Quartz介绍概述Quartz is a richly featured, open source job scheduling library that can be integrated within virtually any Java applicat原创 2021-04-02 08:30:39 · 623 阅读 · 0 评论 -
SpringBoot——@Scheduled的自定义周期性线程池解决任务延时执行问题
关注微信公众号:CodingTechWork,一起学习进步。问题 在使用Spring中的@Scheduled注解设置定时任务时,遇到这样2个问题:定时任务未按时执行,现象是延后了一段时间才执行定时任务。多个定时任务有时间重叠时,无法并发调度执行。分析 出现上面问题现象的根因是Spring的定时任务默认是单线程执行,所以会在某些场景下造成阻塞。当然我们可以通过@Async注解来异步执行这些并发的@Scheduled注解的定时任务,而@Async线程池容量是100,当超过100个线程并发执.原创 2021-03-31 08:49:55 · 2658 阅读 · 0 评论 -
SpringBoot—项目启动时几种初始化操作及SpringApplication类详解
引言 在使用Spring Boot搭建项目时,启动项目工程,经常遇到一些需要启动初始化数据或者资源的需求,比如提前加载某个配置文件内容,初始化某个信息、做好安全认证等。这里一起学习总结了几种初始化数据的方式。@Bean注解配置使用方式 编写配置类,使用@Configuration和@Bean注解进行初始化。使用示例package com.example.andya.demo.conf;import org.springframework.beans.factory.annotation.原创 2020-09-15 18:54:02 · 1840 阅读 · 0 评论 -
SpringBoot—整合log4j2入门和log4j2.xml配置详解
关注微信公众号:CodingTechWork,一起学习进步。引言 对于一个线上程序或者服务而言,重要的是要有日志输出,这样才能方便运维。而日志的输出需要有一定的规划,如日志命名、日志大小,日志分割的文件个数等。在Spring的框架下,我们可以使用log4j来进行日志的设置,高版本的SpringBoot会使用log4j2。介绍log4j2概述 截取官网的原话:Apache Log4j 2 is an upgrade to Log4j that provides significant impr.原创 2020-09-09 20:04:27 · 2137 阅读 · 1 评论 -
SpringBoot—CORS跨域问题详解和解决方案
关注微信公众号:CodingTechWork,一起学习进步。引言 在前后端开发过程中,遇到过一种错误,类似于报错:Access to XMLHttpRequest at 'http://127.0.0.1:8080/' from origin 'null' has been blocked by CORS policy! No 'Access-Control-Allow-Origin' header is present on the requested resource.亦或是XMLHtt.原创 2020-08-31 17:02:38 · 2180 阅读 · 1 评论 -
MySQL——Caused by: java.sql.SQLException: Unknown system variable ‘transaction_isolation‘
关注微信公众号:CodingTechWork,一起学习进步。介绍问题概述 在开发过程中,服务程序报错Caused by: java.sql.SQLException: Unknown system variable 'transaction_isolation'看着sql字样,应该是数据库的问题。排查方向 遇到这种问题,我们首先要看数据库是否正常,也可以通过查看连接数据库的其他服务是否正常。其次,我们是要查看自己开发的服务程序是否连接数据库异常,如驱动版本号是否和数据库一致?是否连接配置有问原创 2020-07-07 12:47:00 · 3914 阅读 · 0 评论 -
SpringBoot—JPA和JDBC常用配置说明
本文主要介绍Spring Boot中使用JPA或JDBC进行数据库表结构创建的两种方式。介绍 在利用SpringBoot框架进行开发时,大部分服务避不开用数据库进行数据存储和使用。SpringBoot里面一般有两种方式进行数据表的创建和数据存储。 一种是使用Spring Boot JPA,我们需要在application.yml或者application.properties中配置jpa相关属性spring.jpa.xxx属性配置。另一种是Spring JDBC,我们需要在application原创 2020-07-06 09:14:46 · 2664 阅读 · 0 评论 -
MySQL—Linux查看客户端连接信息(连接数、进程等)及SpringBoot配置数据库模板
介绍 在开发或者运维过程中,我们连接数据库的时候突然会遇到"Too many Connections"这种报错信息;这时我们就需要排除一下是哪些程序客户端连接较多而没有释放。查看mysql数据库连接数查看最大连接数show variables like 'max_connections';查看已使用连接数show status like 'max%connections';发现已使用的已经大于最大连接数。更改最大连接数全局set(临时)这种方式重启mysql后会失效。set GL原创 2020-05-22 12:38:13 · 6172 阅读 · 2 评论 -
SpringBoot——项目启动时读取配置及初始化资源
介绍 在开发过程中,我们有时候会遇到非接口调用而出发程序执行任务的一些场景,比如我们使用quartz定时框架通过配置文件来启动定时任务时,或者一些初始化资源场景等触发的任务执行场景。方法一:注解方案 通过使用注解@Configuration和@Bean来初始化资源,配置文件当然还是通过@Value进行注入。@Configuration:用于定义配置类,可替换xml配置文件,被注解的类内部一般是包含了一个或者多个@Bean注解的方法。@Bean:产生一个Bean对象,然后将Bean对象交给S原创 2020-06-24 15:45:04 · 1561 阅读 · 0 评论 -
SpringBoot—数据库初始化脚本配置
介绍在SpringBoot工程中,一般情况下,我们通过jpa或者mybatis自动生成表后,下次重启后就不会再重新生成表。但也不可避免会遇到一种场景:有些表需要每次重启后清理数据。配置spring.datasource.initialization-mode=alwaysspring.datasource.schema=classpath:sql/init1.sql,classpath:sql/init2.sql通过增加上述两个配置,我们就可以在每次重启服务时,初始化指定的数据表。...原创 2020-06-22 16:42:52 · 1056 阅读 · 0 评论 -
SpringBoot—单元测试模板(controller层和service层)
介绍概述 在开发过程中,我们经常会一股脑的写各种业务逻辑,经常等全部大功告成的时候,打个jar包放环境里跑跑看看能不能通,殊不知在各个业务方法中已经漏洞百出,修复一个打一个包,再继续修复,这种效率真的太低下。 所以我们需要借助一些单元测试来将我们写的代码做一些测试,这样保证局部方法正确,最后再打包整体运行将整个流程再串起来就能提高开发试错效率。当然,我们除了单元测试,我们还可以通过main()方法在每个类中进行测试,文中会一带而过。常用注解@RunWith(SpringRunner.clas原创 2020-06-02 19:17:37 · 2808 阅读 · 0 评论 -
SpringBoot—自定义线程池及并发定时任务模板
介绍 在项目开发中,经常遇到定时任务,今天通过自定义多线程池总结一下SpringBoot默认实现的定时任务机制。定时任务模板pom依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <原创 2020-05-29 16:00:24 · 843 阅读 · 0 评论 -
SpringBoot—集成AOP详解(面向切面编程Aspect)
AOP介绍AOP概述 AOP是Aspect-Oriented Programming,即为面向(切面)方面编程。在维基百科中的解释:Aspect是一种新的模块化机制,用来描述分散在对象、类或函数中的横切关注点。从关注点中分离出横切关注点是面向切面的程序设计核心概念。分离关注点使得解决特定领域问题的代码从业务逻辑中独立出来,业务逻辑代码不需要再包含针对特定领域问题代码的调用,比如一些公用模块的...原创 2020-04-12 15:27:35 · 1333 阅读 · 1 评论 -
基于springcloud的开发者实践:hystrix-dashboard熔断仪表盘
断路器仪表盘HystrixDashboardHystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard可以直观地看到各Hystrix Command的请求响应时间,请求成功率等数据。1、 新建工程hystrix-dashboardpom.xml文件依赖如下<dependency><group...原创 2018-07-01 21:29:33 · 2054 阅读 · 1 评论