![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 63
飘零未归人
这个作者很懒,什么都没留下…
展开
-
配置错误导致启动报错:Value must only contain valid chars
配置错误导致启动报错:Value must only contain valid chars原创 2024-06-17 09:22:44 · 720 阅读 · 0 评论 -
spring-websocket实现(一)
vue+spring-websocket实现原创 2024-06-14 17:02:55 · 772 阅读 · 0 评论 -
spring的统一网关gateway介绍
类名称,以XXX开头,RoutePredicateFactory结尾。定义静态内部Config类,内部定义Predicate所需配置。继承了抽象类,泛型为内部类Config重写和方法。这两个方法主要是用来定义Config的配置及生成方式。方法主要是用来定义Config的配置的生成方式,读取配置文件的中参数值给他赋值到配置类中的属性上。实现apply方法,内部创建匿名内部类。修改源码,将自定义断言加入。@Bean。原创 2024-05-20 15:12:52 · 882 阅读 · 0 评论 -
spring-boot初始化过程
spring-boot初始化过程原创 2024-03-01 08:54:12 · 125 阅读 · 0 评论 -
spring.factories的常用配置项
spring.factories的常用配置项原创 2024-02-29 11:09:43 · 1523 阅读 · 0 评论 -
Gateway网关拦截器的ServerWebExchange
Gateway网关拦截器的ServerWebExchange原创 2024-01-19 10:14:56 · 2229 阅读 · 0 评论 -
springMvc的Aop解析并修改参数
springMvc的Aop解析并修改参数原创 2024-01-16 11:29:09 · 715 阅读 · 0 评论 -
jackson相关注解
jackson相关注解原创 2024-01-10 14:19:01 · 1087 阅读 · 0 评论 -
springweb+vue前后端分离开发,集成部署
springweb+vue前后端分离开发,集成部署/统一部署原创 2023-10-20 18:03:24 · 1268 阅读 · 1 评论 -
springboot的配置项ENC加解密
springboot的配置项ENC加解密原创 2023-10-11 16:26:58 · 3337 阅读 · 1 评论 -
spring-创建Webservice服务
webservice原创 2023-10-09 17:38:44 · 1463 阅读 · 0 评论 -
spring-secrity的Filter顺序+自定义过滤器
spring-secrity的Filter顺序+自定义过滤器原创 2023-09-05 09:42:44 · 1634 阅读 · 0 评论 -
gateway网关实现报错: conversionServicePostProcessor重复定义
gateway报错原创 2023-08-10 15:21:05 · 976 阅读 · 0 评论 -
gateway跨域问题
在使用gateway做网关过程中配置跨域配置:运行之后在控制台发现错误: 需要去掉:corsConfiguration.addAllowedOriginPattern("*"); 去掉之后问题解决。原创 2023-08-10 15:19:01 · 577 阅读 · 0 评论 -
spring-cloud-gateway版本和springboot版本不匹配
spring-cloud-gateway版本和springboot版本不匹配原创 2023-07-18 15:34:31 · 2184 阅读 · 0 评论 -
RandomAccessFile 实现文件分片获取发送和写入
RandomAccessFile 实现文件分片获取发送和写入原创 2023-08-10 15:16:45 · 812 阅读 · 0 评论 -
springboot自定义日志以及行号正确展示
springboot自定义日志以及行号正确展示原创 2023-03-10 15:05:36 · 1486 阅读 · 2 评论 -
springboot项目初始化执行sql
springboot项目初始化执行sql原创 2023-03-02 16:39:06 · 3585 阅读 · 0 评论 -
Feign设置header的方式和日志打印
Feign设置header的方式和日志打印原创 2022-12-16 14:30:10 · 3162 阅读 · 0 评论 -
AnnotatedElementUtils无法获取自定义注解问题
我定义了自定义注解:@Inherited@Target(value = {ElementType.TYPE, ElementType.METHOD})public @interface CentreManageFeignClientAnnotation { /** * 是否指定url */ boolean appointUrl() default false; /** * 访问url:http://ip:port */ St原创 2022-04-24 11:17:39 · 606 阅读 · 0 评论 -
maven打包spring项目
maven打包spring项目原创 2024-02-02 15:50:34 · 1056 阅读 · 0 评论 -
Gateway网关自定义拦截器的不可重复读取数据
最近在开发gateway网关时,通过自定义拦截器对某些接口的数据进行处理,发现,无法读取到数据。经过查询,发现在Spring5的webflux编程或者普通web编程中,只能从request中获取body一次,后面无法再获取。参考网上的方法先通过全局过滤器把body先缓存起来。这个网上有很多例子:/** * @author zhong * @date 2022/1/6 - 15:34 * */@Configurationpublic class CacheBodyGlob...原创 2022-01-07 10:17:14 · 4825 阅读 · 4 评论 -
feign接口配置成功,调用失败
在测试中出现feign被指时没有问题的,但是就时调不到接口。检查了,两个服务都已经注册到注册中心了。最后发现,是使用的Eureka时,外部引用的feign的接口配置。需要在@EnableFeignClients中显示说明。原有代码:@SpringBootApplication@EnableEurekaClient@EnableResourceServer@MapperScan("com.zhong.spring.data.dao.*")@ComponentScan({"com.zho.原创 2021-12-31 18:01:33 · 2823 阅读 · 0 评论 -
@ConfigurationProperties和@Bean创建对象并注入属性
@ConfigurationProperties和@Bean创建对象的时候并根据属性名称注入配置文件中的属性值。对象;@Data@ToStringpublic class TestBean { String name; int age; String date;}注入属性:import com.zhong.spring.usuldemo.bean.TestBean;import org.springframework.boot.cont...原创 2021-09-29 10:53:48 · 1723 阅读 · 0 评论 -
META-INF/spring.factories使用测试
在之前的文章中已经大致解释META-INF/spring.factories的作用以及加载流程,本章项目需要实现一些示例一下示例。配置类加载首先是配置加载实现的加载实现:org.springframework.cloud.bootstrap.BootstrapConfiguration:表示org.springframework.cloud.bootstrap.config.PropertySourceLocator 的实现类实现的配置加载过程。org.springframework.boo原创 2021-07-18 22:58:26 · 2541 阅读 · 0 评论 -
springboot无法注入@Repository注解的JpaRepository类
最近在创建一个多module的springnoot项目时,发现项目启动一直扫描不到@Repository注释的类。报错如下:Description:Field helloService in com.example.demo.service.TestService required a bean of type 'com.example.test.modules1.service.repository.HelloRepository' that could not be found.Ac原创 2021-06-01 16:50:31 · 5274 阅读 · 0 评论 -
启动springboot项目时,项目一启动就报错停止
在新建一个springboot项目时,项目刚启动就报错停止了。Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver class主要原因时找不到 数据库的driver启动类,如果不需要使用数据库,那么就可以在启动时在@Sprin原创 2021-05-07 10:01:33 · 3006 阅读 · 1 评论 -
springboot中META-INF/spring.factories解析加载类
org.springframework.boot.autoconfigure.EnableAutoConfigurationorg.springframework.cloud.bootstrap.BootstrapConfiguration原创 2021-04-27 21:48:44 · 11171 阅读 · 0 评论 -
利用META-INF/spring.factories实现springboot自定义启动配置管理
配置原理使用PropertiesPropertySource类,在启动时更改环境变量,并不修改application.*(properties/yml)中的配置。启动顺序:bootstrap.* >propertiesPropertySource> application.*优先级:propertiesPropertySource> bootstrap.*> application.*即同样的配置项,在propertiesPropertySource和appl...原创 2021-04-08 11:46:27 · 2544 阅读 · 0 评论 -
项目数据库信息初始化方案
在实际项目中,我们的数据库表中很有可能需要初始化一些信息。以便直接使用。自定义实现数据初始化。这种方式就是自己实现,可用性高。可以自定义实现各种实现的功能。Spring自动初始化spring 可以在程序启动的时候执行初始化脚本。配置项:spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/testspring.datasource.name=testspring.datasource.username=postgresspr原创 2021-03-19 14:21:52 · 1065 阅读 · 0 评论 -
JPA复合主键配置方式
介绍spring boot项目中如果需要使用符合主键,单纯的使用@Id是无法达到的,只使用@Id只能定义单一主键。需要使用@IdClass类注解来标明复合主键。@Target({TYPE})@Retention(RUNTIME)public @interface IdClass { /** Primary key class */ Class value();}同时@IdClass指定的value的class必须实现Serializable类否则也会报错。示例实体原创 2021-02-02 10:15:35 · 2653 阅读 · 0 评论 -
spring-boot子模块打包的jar中的class路径和java代码路径不一样
在spring聚合项目打包jar部署时发现打出来的jar包的路劲不对。而且里面还包含了BOOT-INF文件夹。在运行是还出现找不到jar的问题。原因是我们在多模块聚合项目时启动模块都有。<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin>...原创 2021-01-22 18:16:06 · 763 阅读 · 1 评论 -
spring kafka实现数据消费(三)
在上一章实现的消费中,对数据的处理进行了优化。实现了数据的批量处理。但是还是有不足的。没有一个group的处理线程是一定的,如果在存在多个group的时候,假设group1只需要2个处理线程就能处理过来,而group2却需要10个处理线程才能处得过来。但是我们的处理线程都是固定的,这样就会导致有的消费能处理过来,有的却处理不过来。 所以我们需要优化让所有的消费者使用同一组处理线程。消费者不识别数据是什么,让数据处理线程自己根据数据类型来决定自己需要做什么操作。首先是消息管理器...原创 2020-12-19 16:26:31 · 573 阅读 · 2 评论 -
ThreadLocal-实现http请求、返回统一记录处理
背景 在项目中我们很多时候都是涉及到的外部的请求,一般我们在处理请求时,都需要根据不同的参数做不同的返回,甚至不同的错误信息返回不同的错误码和错误信息。所以在方法中我们需要有请求和返回参数。就像下面这种:@ResponseBody@RequestMapping(value = "/test", produces = "application/json; charset=UTF-8", method = RequestMethod.POST)public Object test(Ht...原创 2020-11-13 16:56:45 · 1544 阅读 · 0 评论 -
新建springboot聚合项目,一启动完就停止结束了
背景最近一直再做springboot项目的开发。但是一直弄的是代码逻辑。所以想试一下从无到有的建立一个springboot聚合测试项目。好吧,果然很多事还是不能拍拍脑袋就可以了。这里就不讲所有的过程,其实是还没有完全实验成功< 难过脸 >。但是问题还是要记录一下的。首先 我在建立如图所示的聚合项目后。使用start下面的StartApplication启动之后import ...原创 2019-08-30 11:41:13 · 6751 阅读 · 2 评论 -
@ConfigurationProperties批量读取配置文件信息
@ConfigurationProperties主要是一个读取配置文件信息的注解,可以按照配置的前缀信息读取对应的配置信息。可以作用于类和方法上。注解用于方法 @ConfigurationProperties注解在类上时需要和@Configuration以及@Bean同时使用。 在application.properties中写入以下信息test.properties.name=1111test.properties.age=12test.properties....原创 2020-10-21 10:18:35 · 2427 阅读 · 0 评论 -
DisposableBean接口实现spring对象销毁调用
应用场景 在实际项目中,某些时候我们需要在程序stop,对象销毁的的时候做一些销毁工作。例如在我的项目中,有大量的使用redis分布式锁的场景。集群情况下,某一个锁的过期时间会很长。如果在一个实例获取到锁之后还没有释放锁就重启或者停止了。就会导致在这个实例重启之后和其他实例在锁没有过期之前无法获取这个锁。 所以我需要在程序停止之后释放掉哪些还没有释放的redis锁。实现方法一使用@Bean的自定义销毁方法@Bean中有一个destroyMethod()实现可以在...原创 2020-10-26 10:43:08 · 724 阅读 · 0 评论 -
spring日志logback.xml配置和示例
日志的级别:日志等级一般分为5个等级(依次递增)debug开发时需要关注的一些信息 info程序正常运转的一些关键点的信息 warn一些异常情况, 不影响程序的逻辑, 但需要提醒开发人员 error一些错误提示, 需要中断操作的错误 fatal严重错误, 基本上服务就挂掉。日志格式: logback中的 <encoder> 对记录事件进行格式化。负责两件事,一是把日志信息转换成字节数组,二是把字节数组写入到输出流。有一个<pattern>节...原创 2020-11-26 14:38:05 · 589 阅读 · 0 评论 -
@Profile环境切换
@Profile可以提供在开发过程中的开发环境、测试环境、准生产环境、生产环境的切换。例如在不同的环境使用不同的数据库源。@Profile的value值与application.properties中的配置项spring.profiles.active的值相对应。spring.profiles.active是对启用的配置文件的名称的定义。假设我们在application.properties中配置spring.profiles.active=dev,则项目启动时就会采用application-d原创 2020-09-09 21:59:22 · 1827 阅读 · 0 评论 -
@Conditional条件初始化bean的配置
在某些情况下我们无法进行Bean的初始化。由于某种原因如果继续初始化很可能抛出异常。这个时候更好的做法是不进行初始化。例如在数据库操作时,如果没有配置数据源的信息。我们希望进行DataSource的初始化。这时就可以使用@Conditional来达到目的。实现方法: 在需要判断的方法中加入@Conditional说明配置的条件类。而条件类则需要实现org.springframework.context.annotation.Condition接口并实现matches()方法...原创 2020-09-09 21:51:32 · 1729 阅读 · 0 评论