
SpringBoot
文章平均质量分 80
lichuangcsdn
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
springboot集成websocket给前端推送消息
本文介绍了如何使用WebSocket实现后端主动向前端推送消息的功能。通过Spring Boot创建websocketDemo工程,添加websocket依赖并配置8085端口。主要包含以下实现步骤:1)创建WebSocket处理器管理会话连接;2)配置WebSocket注册端点;3)编写推送控制器接口;4)前端通过WebSocket连接监听消息。测试时,调用/api/push接口即可将消息推送给所有连接的客户端,实现双向实时通信。该方案突破了传统前端请求模式,实现了服务器主动推送消息的能力。原创 2025-05-31 20:48:09 · 958 阅读 · 0 评论 -
【springcloud学习(dalston.sr1)】Config配置中心-Configclient端通过和Config server端通信来获取配置文件信息(含源代码)(十四)
本文介绍了如何在Spring Cloud项目中实现Config Client与Config Server的通信,以从Git服务器获取配置文件。首先,创建了一个Config Client项目microservicecloud-config-client-3355,并在POM文件中添加了必要的依赖。接着,配置了bootstrap.yml和application.yml文件,其中bootstrap.yml指定了从Git获取的配置文件名称、环境、分支以及Config Server的地址。项目启动时,Config C原创 2025-05-17 21:42:42 · 682 阅读 · 0 评论 -
【springcloud学习(dalston.sr1)】Config配置中心-ConfigServer端与Git通信(含源代码)(十三)
Spring Cloud Config 是一个用于集中管理微服务配置的工具,特别适用于包含多个独立服务的复杂系统,如电商平台。通过将配置文件存储在Git服务器上,Config Server 可以在服务启动时从Git拉取配置,简化了配置管理。文章详细介绍了如何搭建Config Server端,包括创建Git远程仓库、配置POM文件依赖、设置application.yml文件以及创建启动类。最后,通过访问不同的URL,展示了如何从Config Server获取不同环境(如开发环境和测试环境)的配置信息,验证了C原创 2025-05-17 21:04:08 · 1106 阅读 · 0 评论 -
【springcloud学习(dalston.sr1)】Zuul路由访问映射规则配置及使用(含源代码)(十二)
本文介绍了Spring Cloud中Zuul网关的使用,重点讲解了Zuul的路由和过滤功能。Zuul通过与Eureka整合,作为微服务的统一入口,负责请求的转发和过滤。文章详细描述了如何创建一个Zuul网关项目(microservicecloud-zuul-gateway-9527),包括POM文件的依赖配置、application.yml文件的路由规则设置,以及启动类中启用Zuul代理的注解。此外,文章还展示了如何通过Zuul访问服务提供者的接口,并介绍了如何通过配置隐藏真实服务地址,增加访问前缀等安全措原创 2025-05-17 19:23:37 · 802 阅读 · 0 评论 -
【springcloud学习(dalston.sr1)】Hystrix Dashboard服务监控(含源代码)(十一)
该文章详细介绍了如何搭建和使用HystrixDashboard来监控微服务中的Hystrix调用。首先,Hystrix不仅提供依赖服务的调用隔离,还通过HystrixDashboard实现准实时的调用监控,展示请求的执行信息。文章详细描述了创建HystrixDashboard项目的过程,包括添加必要的Maven依赖、配置端口号、启用HystrixDashboard功能等步骤。随后,文章指导如何启动受监控的服务,并确保服务提供者的POM文件中包含相关监控依赖。最后,通过访问HystrixDashboard的W原创 2025-05-17 18:36:33 · 609 阅读 · 0 评论 -
【springcloud学习(dalston.sr1)】Hystrix服务降级(含源代码)(十)
本文介绍了Spring Cloud中的服务降级机制及其实现方式。服务降级是在资源不足时暂停部分服务,待资源稳定后再恢复,主要在服务消费者端实现。文章以microservicecloud-consumer-feign项目为例,详细说明了如何在POM文件中添加依赖、在application.yml中配置服务降级,以及通过FeignClient注解和FallbackFactory接口实现服务降级。通过模拟服务提供者不可用的情况,验证了服务降级的有效性。最后,文章比较了服务降级与服务熔断的区别,指出服务降级在调用方原创 2025-05-16 22:23:46 · 820 阅读 · 0 评论 -
【springcloud学习(dalston.sr1)】Hystrix服务熔断(含源代码)(九)
Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统中,许多依赖不可避免的会调用失败。日入超时、异常等,Hystrix能保证在一个依赖出现问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。“断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控,向调用方返回一个符合预期的、可处理的备选响应(FallBack),而不是让调用方长时间的等待或者抛出调用无法处理的异常,这样就保证了服务调用方的线程不会长时间占用,从而避免了故障原创 2025-05-16 21:33:37 · 1003 阅读 · 0 评论 -
【springcloud学习(dalston.sr1)】使用Feign实现接口调用(含源代码)(八)
该文章介绍了如何在Spring Cloud项目中使用Feign来简化HTTP请求的调用。通过Feign,开发者可以像声明DAO接口一样声明HTTP请求接口,避免了使用RestTemplate时的硬编码问题。文章详细说明了如何在microservicecloud-api项目中创建带有@FeignClient注解的接口GoodsClientService,并在microservicecloud-consumer-feign模块中通过依赖注入来调用该接口。此外,文章还介绍了如何配置POM文件和applicatio原创 2025-05-14 19:50:24 · 860 阅读 · 0 评论 -
【springcloud学习(dalston.sr1)】Ribbon负载均衡(含源代码)(七)
本文介绍了Spring Cloud中Ribbon负载均衡的实现及其验证过程。Ribbon是一种客户端负载均衡工具,类似于火车站售票窗口的选择机制,通过选择访问次数较少的服务端来分散请求压力。文章详细描述了如何通过RestTemplate和@LoadBalanced注解实现负载均衡,并默认使用轮询算法。此外,文章还介绍了如何通过一个消费者项目和三个提供者项目来验证负载均衡的效果,确保请求能够均匀分配到不同的服务端。最后,通过启动Eureka服务端、提供者和消费者项目,并访问消费者接口,观察返回数据的变化,验证原创 2025-05-14 18:47:11 · 1085 阅读 · 0 评论 -
【springcloud学习(dalston.sr1)】服务消费者通过restTemplate来访问服务提供者(含源代码)(五)
在浏览器中访问http://localhost/consumer/goods/list/applicationName,页面正常展示返回结果,说明能通过服务名称来访问到服务提供者的接口。我们启动服务消费者项目microservicecloud-consumer-80,然后在浏览器中访问 http://localhost/consumer/goods/list/http。通过服务消费者microservicecloud-consumer-80模块的创建,我们在controller中定义了接口。原创 2025-05-14 17:24:38 · 1075 阅读 · 0 评论 -
【springcloud学习(dalston.sr1)】Eureka 客户端服务注册(含源代码)(四)
这篇文章主要介绍Eureka客户端服务注册到eureka的server端原创 2025-05-14 15:50:59 · 870 阅读 · 0 评论 -
【springcloud学习(dalston.sr1)】Eureka单个服务端的搭建(含源代码)(三)
本文介绍了如何搭建单个Eureka服务端,而非集群环境。通过修改项目microservicecloud-eureka-7001的配置文件,将server.port设置为7001,eureka.instance.hostname设置为localhost,并配置register-with-eureka和fetch-register为false,表示该服务端不向注册中心注册自己,且自身即为注册中心。service-url.defaultZone配置为自身地址http://localhost:7001/eureka原创 2025-05-14 14:14:51 · 435 阅读 · 0 评论 -
【springcloud学习(dalston.sr1)】Eureka服务端集群的搭建(含源代码)(二)
本文详细介绍了如何搭建Eureka服务端集群环境。Eureka作为服务注册与发现的核心组件,类似于写字楼的物业管理系统,负责管理服务注册列表。文章通过创建三个模块(microservicecloud-eureka-7001、7002、7003)来模拟集群搭建,每个模块配置了不同的端口和主机名,并通过修改hosts文件实现域名映射。在配置文件中,设置了服务端不注册自己,并指定了其他Eureka服务端的地址以实现集群功能。最后,通过启动类上的@EnableEurekaServer注解启用Eureka服务,并成功原创 2025-05-14 00:08:23 · 799 阅读 · 1 评论 -
【springcloud学习(dalston.sr1)】项目整体介绍(含源代码)(一)
本文记录了一个基于Spring Cloud Dalston.SR1版本的微服务学习项目,尽管该版本已过时,但项目仍作为学习资料分享。项目展示了如何将一个大型电商项目拆分为多个微服务模块,如商品、订单、用户管理等,每个模块作为独立进程运行。项目中使用了Eureka(服务注册与发现)、Hystrix(服务熔断和降级)、Ribbon(客户端负载均衡)、Zuul(网关与路由)和Feign(服务接口HTTP调用)等Spring Cloud组件。项目结构包括API模块、提供者模块、消费者模块、Eureka服务注册模块、原创 2025-05-13 23:01:12 · 1155 阅读 · 0 评论 -
【springcloud学习(dalston.sr1)】Eureka 服务发现(含源代码)(六)
服务的注册是指eureka client将自身注册到server端。从此之外,客户端自己还可以在自身接口里,也能查询到server端的服务注册列表。然后我们在controller中会注入,然后在接口里就可以使用这个discoveryClient,然后获取到Eureka server端的服务注册列表,即客户端就算不访问。server网页, 也能通过自己去发现server端注册了哪些服务。我们讨论了服务的注册,现在我们来看看服务的发现。,如下图,也能看到server端的服务注册列表。(一)服务发现的理解。原创 2025-05-14 18:02:26 · 221 阅读 · 0 评论 -
spring boot中 requestBody里面的json数据重新写入到request里
最近在使用spring security框架,发现一个问题,就是我通过request.getInputStream()方法读取了请求体中的json数据后,就发现在controller控制器层中无法再次获取到参数,会出现报错I/O error while reading input message; nested exception is java.io.IOException: Stream ...原创 2019-07-07 11:37:55 · 9182 阅读 · 0 评论 -
spring boot整合spring security(自定义验证方式)
spring security支持传统的查询数据库方式,也即根据用户名查询出用户信息,然后再比较前端传来的密码和数据库中的密码。这种方式很常用。但不适合通过第三方进行的授权认证模式。这时候,我们需要自己处理登录验证过程。针对这些情况,我们需要自定义Authentication Provider@Componentpublic class CustomAuthenticationPr...原创 2019-07-03 01:05:01 · 2684 阅读 · 0 评论 -
spring security自定义权限拦截FilterInvocationSecurityMetadataSource
一般情况下,我们如果需要自定义权限拦截,则需要涉及到FilterInvocationSecurityMetadataSource这个接口了。这里有个坑爹的地方。如果用户未登录,但是已经设置了拦截白名单的URL,仍然会进入到权限验证里面来。起初,我以为不会进来,但后来跟踪源代码发现,还是会进来。只是此时的身份是一个匿名用户。其默认的实现为DefaultFilterInvocationSecuri...原创 2019-07-08 00:43:31 · 22775 阅读 · 8 评论 -
spring security如果未登录,返回JSON数据
默认情况下,spring security如果检测到未登录,会返回一个登录页面。对于前后端分离的项目,我们一般是希望能返回自定义的JSON数据。这时候,就需要继承类LoginUrlAuthenticationEntryPoint,并重写其public void commence(HttpServletRequest request, HttpServletResponse response,...原创 2019-07-08 00:30:03 · 8929 阅读 · 5 评论 -
Spring boot注入多个redisTemplate,并更改默认序列化策略
1、添加maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>2、配置文件中...原创 2018-06-30 14:14:27 · 17512 阅读 · 2 评论 -
如何用IDEA搭建Springboot spring MVC Mybatis集成环境
1、首先通过IDEA新建一个工程,选择Spring Initialize,下一步,再勾选web ,Mybatis等最后完成2、其中pom.xml内容的代码如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www....原创 2018-07-01 11:36:48 · 3294 阅读 · 0 评论 -
Spring Boot 中的注解
以下3个注解和@SpringBootApplication等价@SpringBootConfiguration@EnableAutoConfiguration@ComponentScanSpringBoot在写启动类的时候如果不使用@ComponentScan指明对象扫描范围,默认指扫描当前启动类所在的包里的对象,如果当前启动类没有包,则在启动时会报错:Your ApplicationCont...原创 2018-07-01 11:42:04 · 164 阅读 · 0 评论 -
SpringBoot集成Druid数据源
Spring Boot默认的DataSource数据源是Tomcat下的数据源,现在我们想修改成阿里的Druid。操作如下:1、现在POM.xml中添加依赖关系:(尤其要注意的是该依赖的版本号必须填写,否则会导致工程出现编译错误,无法正常运行)<dependency> <groupId>com.alibaba</groupId> <artifa...原创 2018-07-01 11:44:42 · 4636 阅读 · 0 评论 -
Spring boot web项目修改端口号
Spring boot项目默认web项目的端口号是8080,如果需要修改端口号,再application.properties通过server.port指定端口即可。如下图所示,即修改默认端口为8888了原创 2018-07-01 11:45:58 · 6782 阅读 · 0 评论 -
通过Spring boot + Spring MVC + Dubbo + zookeeper构建分布式服务
1、zookeeper的安装 首先从网上下载zookeeper版本,我这里使用的是3.4.10,上传至Linux服务器/opt路径,并解压 将/opt/zookeeper-3.4.10/conf路径下的zoo_sample.cfg复制一份并修改名称为zoo.cfg进入到/opt/zookeeper-3.4.10/bin目录,然后启动(这里我没有做集群)启动命令如下:注意将防火墙关闭掉。ser...原创 2018-07-01 12:00:28 · 624 阅读 · 0 评论 -
Springboot结合mybatis-generator自动生成dao接口代码(插件方式)
1、首先在IDEA中创建好一个Spring boot maven工程,在pom.xml添加以下插件<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>sprin...原创 2018-07-01 12:09:01 · 1282 阅读 · 2 评论 -
Springboot结合druid进行SQL的监控
1、添加maven依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.18</version></dependency>2、在app原创 2018-07-01 12:15:26 · 1194 阅读 · 1 评论 -
Springboot导入自定义properties配置文件
1、添加maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optiona...原创 2018-07-01 12:25:01 · 2086 阅读 · 0 评论 -
Springboot1.5和kafka的整合
详细参考http://blog.youkuaiyun.com/gebitan505/article/details/702420161、引入依赖(具体spring-kafka的版本由spring boot的当前版本决定)<dependency> <groupId>org.springframework.integration</groupId> <arti...原创 2018-07-01 12:38:37 · 4549 阅读 · 0 评论 -
spring boot整合Spring data jpa
1、在maven POM文件中添加如下依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></dependency><depe...原创 2018-09-06 00:25:20 · 229 阅读 · 0 评论 -
Springboot与cxf整合,并进行WebService服务端程序的开发
现在一般都流行用微服务了,但有时候要和第三方对接时,偶尔会用到WebService。这里演示下如何与cxf进行整合,并进行WebService服务发布1、首先在POM中添加以下依赖<dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-...原创 2018-10-21 23:09:00 · 2705 阅读 · 0 评论 -
Spring Data JPA 使用本地SQL,并将结果集转换为自定义POJO对象
Spring Data JPA使用很方便,JPA只是一种标准,其实现通常是Hibernate。如果业务仅仅是增删改的话,那用JPA还是很方便的。但通常情况下,我们会有大量的业务查询。如果用其自带的查询,则SQL无法控制,可能会有性能问题。基于此,我们希望扩展下,使其能支持自定义查询SQL,并通过自定义POJO对象进行接收,这样我们就不需要去定义结果集所关联的实体类了。 通过查看源...原创 2019-03-03 19:37:28 · 6063 阅读 · 1 评论 -
springboot2.0与quartz整合
我数据库用的是Oracle数据库,初始化脚本如下:-- 存储每一个已配置的 Job 的详细信息CREATE TABLE qrtz_job_details ( SCHED_NAME VARCHAR2(120) NOT NULL, JOB_NAME VARCHAR2(200) NOT NULL, JOB_GROUP VARCHAR2(200) NOT NULL,...原创 2019-03-26 08:02:27 · 766 阅读 · 0 评论 -
关于spring中的BeanDefinitionRegistryPostProcessor和ImportBeanDefinitionRegistrar接口
这两个接口都可以用于动态注册bean到容器中。BeanDefinitionRegistryPostProcessor实现了BeanFactoryPostProcessor接口,是Spring框架的BeanDefinitionRegistry的后处理器,用来注册额外的BeanDefinition。postProcessBeanDefinitionRegistry方法会在所有的BeanDefini...原创 2019-05-07 22:49:21 · 6499 阅读 · 2 评论 -
Spring boot和Redis整合
1、POM中添加maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>2、application.pro...原创 2018-06-30 14:10:11 · 226 阅读 · 0 评论