![](https://img-blog.csdnimg.cn/8014daabe3924d4db4ccf09714e2111c.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA
文章平均质量分 90
JAVA知识
程序员老茶
2025年度博客之星TOP 1
展开
-
SpringCloud:Feign远程调用
Spring Cloud Feign 是一个声明式的、模板化的 HTTP 客户端,它使得编写 HTTP 客户端变得更加简单和方便。它是 Spring Cloud Netflix 的一部分,用于构建分布式系统中的服务消费者。在微服务架构中,服务之间需要通过网络进行通信。Feign 以接口和注解的方式,将 HTTP 请求的细节进行了封装,开发者只需要定义一个接口并用注解指定服务名和请求路径,就可以像调用本地方法一样进行远程调用,极大地简化了服务之间的通信代码。Spring Cloud Feign 集成了 R原创 2024-06-13 09:36:52 · 934 阅读 · 0 评论 -
SpringCloud:Nacos配置管理
Spring Cloud Nacos 是一个开源的动态服务发现、配置管理和服务管理平台。它基于 Nacos 实现了配置中心的功能,能够帮助开发者实现在微服务架构中的配置管理,包括动态配置管理、服务发现和服务注册等功能。Nacos 提供了统一的服务注册与发现、配置管理以及 DNS 服务的功能。Spring Cloud Nacos 则将 Nacos 作为 Spring Cloud 生态系统的一部分,为开发者提供了集成的配置管理功能。通过 Spring Cloud Nacos,开发者可以将应用的配置信息存储在原创 2024-05-28 13:58:45 · 611 阅读 · 0 评论 -
SpringCloud:Nacos注册中心
Spring Cloud Nacos注册中心是一个基于Nacos实现的注册与配置管理服务。它为分布式系统提供了服务注册、服务发现、配置管理等功能。在Spring Cloud微服务架构中,Nacos注册中心能够有效地管理服务实例的注册与发现,保证服务之间的正确调用,同时提供动态配置管理,使得服务可以实时地获取和更新配置信息。Nacos注册中心具有易用性、高可用性和扩展性,适用于构建大规模分布式系统。通过集成Spring Cloud,开发者可以更加方便地使用Nacos注册中心来管理微服务架构中的各个服务,提高系原创 2024-05-22 16:31:48 · 699 阅读 · 0 评论 -
SpringCloud:Ribbon负载均衡
Spring Cloud Ribbon是一个基于Netflix Ribbon实现的一套客户端负载均衡的工具。它为Spring Cloud应用提供了一种简单的、可配置的、基于HTTP和TCP的客户端负载均衡解决方案。Ribbon具有丰富的负载均衡策略,如轮询、随机、加权轮询等,能够满足不同场景下的需求。它还提供了负载均衡器的自动配置和动态刷新功能,使得开发人员可以轻松地集成Ribbon到Spring Cloud应用中,实现服务之间的负载均衡。通过使用Spring Cloud Ribbon,开发人员可以更好地管原创 2024-05-21 10:40:46 · 832 阅读 · 0 评论 -
SpringCloud:Eureka注册中心
Spring Cloud Eureka是一个基于REST服务的分布式中间件,用于实现微服务架构中的服务注册与发现。它包含了服务器和客户端两个组件,可以用于构建高可用的、可扩展的集群环境。Eureka注册中心允许服务实例(如微服务)向注册表注册自身,并定期发送心跳来更新其在注册表中的状态。其他服务可以通过Eureka服务器查询注册表来发现可用的服务实例,并实现负载均衡等功能。通过Eureka,开发人员可以更方便地构建和管理微服务架构,实现服务之间的动态调用和扩展。原创 2024-05-20 15:56:41 · 557 阅读 · 0 评论 -
SpringCloud:服务拆分和远程调用
服务拆分服务拆分是微服务架构中的一个基本概念,指的是将一个大型应用程序分解成一组小型服务的过程。每个服务都是独立的,可以单独部署、扩展和更新。服务拆分的好处包括:模块化:服务拆分有助于将复杂的应用程序分解为可管理的模块。可扩展性:可以独立扩展需要更多资源的特定服务。容错性:服务的独立性提高了系统的容错性,一个服务的失败不会影响其他服务的运行。简化部署:可以单独部署和更新服务,而不需要重新部署整个应用程序。技术多样性:不同的服务可以使用不同的技术栈。在 Spring Cloud 中,可以使用原创 2024-05-11 13:40:24 · 822 阅读 · 0 评论 -
SpringCloud:认识微服务
Spring Cloud 是一个基于Spring Boot的开源微服务架构构建工具集,它提供了在分布式系统环境中快速构建一些常见模式的工具(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌等)。它利用Spring Boot的开发便利性,简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器以及分布式会话等。微服务是一种设计思想,旨在通过将应用程序分解成一组小的服务来简化大型应用程序的开发和维护。每个服务运行在其独立的进程中,服务之间通过轻量级的通信机制(原创 2024-05-09 10:27:42 · 1126 阅读 · 2 评论 -
SpringBoot程序启动流程解析
1. springboot启动流程是先初始化容器需要的各种配置,并加载成各种对象,初始化容器时读取这些对象,创建容器2. 整体流程采用事件监听的机制进行过程控制,开发者可以根据需要自行扩展,添加对应的监听器绑定具体事件,就可以在事件触发位置执行开发者的业务代码原创 2024-03-28 20:04:29 · 724 阅读 · 0 评论 -
SpringBoot自定义starter开发:开启yml提示功能
1. 自定义starter其实就是做一个独立的功能模块,核心技术是利用自动配置的效果在加载模块后加载对应的功能2. 通常会为自定义starter的自动配置功能添加足够的条件控制,而不会做成100%加载对功能的效果3. 本例中使用map保存数据,如果换用redis方案,在starter开发模块中就要导入redis对应的starter4. 对于配置属性务必开启提示功能,否则使用者无法感知配置应该如何书写原创 2024-03-26 18:15:00 · 388 阅读 · 0 评论 -
SpringBoot自定义stater开发:拦截器开发
**步骤一:开发拦截器** 使用自动装配加载统计功能的业务类,并在拦截器中调用对应功能**步骤二:配置拦截器** 配置mvc拦截器,设置拦截对应的请求路径。此处拦截所有请求,用户可以根据使用需要设置要拦截的请求。甚至可以在此处加载IpCountProperties中的属性,通过配置设置拦截器拦截的请求。原创 2024-03-26 12:05:17 · 396 阅读 · 0 评论 -
SpringBoot自定义starter开发:使用属性配置设置定时器参数
在使用属性配置中的显示周期数据时,遇到了一些问题。由于无法在@Scheduled注解上直接使用配置数据,改用曲线救国的方针,放弃使用@EnableConfigurationProperties注解对应的功能,改成最原始的bean定义格式。原创 2024-03-22 13:33:26 · 419 阅读 · 0 评论 -
SpringBoot自定义starter开发:使用属性配置设置功能参数
**步骤一:定义参数格式** 设置3个属性,分别用来控制显示周期(cycle),阶段数据是否清空(cycleReset),数据显示格式(model)**步骤二:定义封装参数的属性类,读取配置参数** 为防止项目组定义的参数种类过多,产生冲突,通常设置属性前缀会至少使用两级属性作为前缀进行区分。 日志输出模式是在若干个类别选项中选择某一项,对于此种分类性数据建议制作枚举定义分类数据,当然使用字符串也可以。原创 2024-03-21 18:46:57 · 372 阅读 · 0 评论 -
SpringBoot自定义starter开发:定时任务报表开发
定时任务功能开启需要在当前功能的总配置中设置,结合现有业务设定,比较合理的位置是设置在自动配置类上。加载自动配置类即启用定时任务功能。定义显示统计功能的操作print(),并设置定时任务,当前设置每5秒运行一次统计数据。原创 2024-03-21 16:09:26 · 494 阅读 · 0 评论 -
SpringBoot自定义starter开发:IP计数业务功能开发
本功能最终要实现的效果是在现有的项目中导入一个starter,对应的功能就添加上了,删除掉对应的starter,功能就消失了,要求功能要与原始项目完全解耦。因此需要开发一个独立的模块,制作对应功能。原创 2024-03-20 15:25:12 · 1080 阅读 · 3 评论 -
SpringBoot自定义starter开发:记录系统访客独立IP访问次数
功能是统计网站独立IP访问次数的功能,并将访问信息在后台持续输出。整体功能是在后台每10秒输出一次监控信息(格式:IP+访问次数) ,当用户访问网站时,对用户的访问行为进行统计。原创 2024-03-19 20:26:40 · 453 阅读 · 0 评论 -
SpringBoot自动配置工作流程中变更自动配置
springboot的自动配置并不是必然运行的,可以通过配置的形式干预是否启用对应的自动配置功能原创 2024-03-14 20:30:10 · 372 阅读 · 0 评论 -
SpringBoot自动配置中bean的自动配置原理(工作流程)
1. springboot启动时先加载spring.factories文件中的org.springframework.boot.autoconfigure.EnableAutoConfiguration配置项,将其中配置的所有的类都加载成bean2. 在加载bean的时候,bean对应的类定义上都设置有加载条件,因此有可能加载成功,也可能条件检测失败不加载bean3. 对于可以正常加载成bean的类,通常会通过@EnableConfigurationProperties注解初始化对应的配置属性类并加载对原创 2024-03-07 16:15:23 · 857 阅读 · 0 评论 -
SpringBoot中自动配置的bean的依赖属性配置管理
1. bean的运行如果需要外部设置值,建议将设置值封装成专用的属性类* * * * Properties2. 设置属性类加载指定前缀的配置信息3. 在需要使用属性类的位置通过注解@EnableConfigurationProperties加载bean,而不要直接在属性配置类上定义bean,减少资源加载的数量,因需加载而不要饱和式加载。原创 2024-03-05 16:46:30 · 344 阅读 · 0 评论 -
SpringBoot自动配置中bean的加载控制
springboot定义了若干种控制bean加载的条件设置注解,由spring固定加载bean变成了可以根据情况选择性的加载bean原创 2024-03-02 18:00:05 · 734 阅读 · 0 评论 -
SpringBoot自动配置中bean的加载方式
1. bean的定义由前期xml配置逐步演化成注解配置,本质是一样的,都是通过反射机制加载类名后创建对象,对象就是spring管控的bean2. @Import注解可以指定加载某一个类作为spring管控的bean,如果被加载的类中还具有@Bean相关的定义,会被一同加载3. spring开放出了若干种可编程控制的bean的初始化方式,通过分支语句由固定的加载bean转成了可以选择bean是否加载或者选择加载哪一种bean原创 2024-02-27 20:41:10 · 1110 阅读 · 0 评论 -
SpringBoot整合Kafka
1. springboot整合Kafka使用KafkaTemplate对象作为客户端操作消息队列2. 操作Kafka需要配置Kafka服务器地址,默认端口90923. 企业开发时通常使用监听器来处理消息队列中的消息,设置监听器使用注解@KafkaListener。接收消息保存在形参ConsumerRecord对象中原创 2024-02-24 09:45:00 · 649 阅读 · 0 评论 -
SpringBoot整合RocketMQ
1. springboot整合RocketMQ使用RocketMQTemplate对象作为客户端操作消息队列2. 操作RocketMQ需要配置RocketMQ服务器地址,默认端口98763. 企业开发时通常使用监听器来处理消息队列中的消息,设置监听器使用注解@RocketMQMessageListener原创 2024-02-23 19:58:55 · 585 阅读 · 0 评论 -
SpringBoot整合RabbitMQ
1. springboot整合RabbitMQ提供了AmqpTemplate对象作为客户端操作消息队列2. 操作ActiveMQ需要配置ActiveMQ服务器地址,默认端口56723. 企业开发时通常使用监听器来处理消息队列中的消息,设置监听器使用注解@RabbitListener4. RabbitMQ有5种消息模型,使用的队列相同,但是交换机不同。交换机不同,对应的消息进入的策略也不同原创 2024-02-20 20:20:31 · 1192 阅读 · 0 评论 -
SpringBoot整合ActiveMQ
1. springboot整合ActiveMQ提供了JmsMessagingTemplate对象作为客户端操作消息队列2. 操作ActiveMQ需要配置ActiveMQ服务器地址,默认端口616163. 企业开发时通常使用监听器来处理消息队列中的消息,设置监听器使用注解@JmsListener4. 配置jms的pub-sub-domain属性可以在点对点模型和发布订阅模型间切换消息模型原创 2024-02-18 23:04:46 · 1565 阅读 · 0 评论 -
Springboot整合第三方技术-消息
从广义角度来说,消息其实就是信息,但是和信息又有所不同。信息通常被定义为一组数据,而消息除了具有数据的特征之外,还有消息的来源与接收的概念。通常发送消息的一方称为消息的生产者,接收消息的一方称为消息的消费者。原创 2024-02-18 17:44:57 · 1194 阅读 · 0 评论 -
Springboot整合第三方技术-任务(Quartz、Task)
工作(Job):用于定义具体执行的工作- 工作明细(JobDetail):用于描述定时工作相关的信息- 触发器(Trigger):描述了工作明细与调度器的对应关系- 调度器(Scheduler):用于描述触发工作的执行规则,通常使用cron表达式定义规则原创 2024-02-16 23:58:47 · 914 阅读 · 0 评论 -
SpringBoot整合第三方技术-缓存
缓存是一种介于数据永久存储介质与应用程序之间的数据临时存储介质,使用缓存可以有效的减少低速数据读取过程的次数(例如磁盘IO),提高系统性能。此外缓存不仅可以用于提高永久性存储介质的数据读取效率,还可以提供临时的数据存储空间。原创 2024-02-14 23:48:38 · 1717 阅读 · 0 评论 -
SpringBoot整合Elasticsearch
ES(Elasticsearch)是一个分布式全文搜索引擎,重点是全文搜索。原创 2024-02-12 21:59:01 · 1352 阅读 · 0 评论 -
SpringBoot整合MongoDB
1. springboot整合MongoDB步骤 1. 导入springboot整合MongoDB的starter坐标 2. 进行基础配置 3. 使用springboot整合MongoDB的专用客户端接口MongoTemplate操作原创 2024-02-10 21:38:54 · 961 阅读 · 0 评论 -
SpringBoot整合Redis
1. springboot整合redis提供了StringRedisTemplate对象,以字符串的数据格式操作redis2. 如果需要切换redis客户端实现技术,可以通过配置的形式进行原创 2024-02-10 15:21:49 · 964 阅读 · 0 评论 -
SpringBoot的数据层解决方案
数据源技术:Druid持久化技术:MyBatisPlus数据库技术:MySQL原创 2024-01-11 17:43:16 · 1060 阅读 · 0 评论 -
SpringBoot的测试
1. 在测试类中测试web层接口要保障测试类启动时启动web容器,使用@SpringBootTest注解的webEnvironment属性可以虚拟web环境用于测试2. 为测试方法注入MockMvc对象,通过MockMvc对象可以发送虚拟请求,模拟web请求调用过程原创 2023-12-25 11:31:07 · 1293 阅读 · 0 评论 -
SpringBoot的配置高级
1. 使用@ConfigurationProperties可以为使用@Bean声明的第三方bean绑定属性2. 当使用@EnableConfigurationProperties声明进行属性绑定的bean后,无需使用@Component注解再次进行bean声明1. @ConfigurationProperties绑定属性时支持属性名宽松绑定,这个宽松体现在属性名的命名规则上2. @Value注解不支持松散绑定规则3. 绑定前缀名推荐采用烤肉串命名规则,即使用中划线做分隔符原创 2023-12-23 15:49:58 · 916 阅读 · 0 评论 -
SpringBoot的热部署
什么是热部署?简单说就是你程序改了,现在要重新启动服务器,嫌麻烦?不用重启,服务器会自己悄悄的把更新后的程序给重新加载一遍,这就是热部署。原创 2023-12-22 17:00:50 · 860 阅读 · 0 评论 -
SpringBoot的日志管理
- TRACE:运行堆栈信息,使用率低- DEBUG:程序员调试代码使用- INFO:记录运维过程数据- WARN:记录运维过程报警数据- ERROR:记录错误堆栈信息- FATAL:灾难信息,合并计入ERROR原创 2023-12-20 15:02:48 · 943 阅读 · 0 评论 -
SpringBoot的多环境开发
多环境开发需要设置若干种常用环境,例如开发、生产、测试环境yaml格式中设置多环境使用—区分环境设置边界每种环境的区别在于加载的配置属性不同启用某种环境时需要指定启动时使用该环境原创 2023-12-18 16:05:14 · 852 阅读 · 0 评论 -
SpringBoot运维中的高级配置
之前咱们做配置使用的配置文件都是application.yml,其实这个文件也是可以改名字的,这样方便维护。比如我2020年4月1日搞活动,走了一组配置,2020年5月1日活动取消,恢复原始配置,这个时候只需要重新更换一下配置文件就可以了。但是你总不能在原始配置文件上修改吧,不然搞完活动以后,活动的配置就留不下来了,不利于维护。方式一:使用临时属性设置配置文件名,注意仅仅是名称,不要带扩展名方式二:使用临时属性设置配置文件路径,这个是全路径名 也可以设置加载多个配置文件。原创 2023-12-14 14:32:09 · 499 阅读 · 2 评论 -
SpringBoot程序打包失败处理
spring-boot-maven-plugin插件用于将当前程序打包成一个可以独立运行的程序包原创 2023-12-13 19:13:42 · 724 阅读 · 0 评论 -
SpringBoot程序的打包与运行
1. SpringBoot工程可以基于java环境下独立运行jar文件启动服务2. SpringBoot工程执行mvn命令package进行打包3. 执行jar命令:java –jar 工程名.jar原创 2023-12-12 21:12:53 · 126 阅读 · 0 评论 -
基于SpringBoot实现SSMP整合
手工导入starter坐标(2个),mysql驱动(1个)配置数据源与MyBatisPlus对应的配置开发Dao接口(继承BaseMapper)制作测试类测试Dao功能是否有效使用配置方式开启日志,设置日志输出方式为标准输出即可查阅SQL执行日志。原创 2023-12-01 17:02:21 · 398 阅读 · 0 评论