![](https://img-blog.csdnimg.cn/20200826081629757.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
框架
文章平均质量分 54
框架
GuessHat
骐骥一跃,不能十步,驽马十驾,功在不舍
展开
-
wireMock单机版jar包的使用
接口mock单机原创 2022-10-02 11:25:30 · 830 阅读 · 0 评论 -
使用profile标签动态引入环境变量
使用profile标签动态引入环境变量1.项目结构2.具体代码对应关系简图2.1pom依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.or原创 2021-07-25 22:29:29 · 617 阅读 · 1 评论 -
Scheduling简单定时任务
Scheduling简单定时任务1.项目结构:2.启动类SchedulerApplicationpackage com.example.scheduler;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.scheduling.annotation.En原创 2021-06-27 15:17:15 · 388 阅读 · 0 评论 -
kafka基础命令
kafka基础命令1.kafka访问协议PLAINTEXT 支持无认证的明文访问SSL 支持kerberos认证的明文访问SASL_PLAINTEXT 支持无认证的SSL加密访问SASL_SSL 支持kerberos认证的SSL加密访问2.topic命令2.1创建sh [kafka安装路径]/bin/kafka-topics.sh --create --zookerper [zookerper:port] --par原创 2021-06-20 09:34:16 · 152 阅读 · 0 评论 -
Kafka基础安装使用
Kafka基础安装使用官网地址:http://kafka.apache.org/1.特性高吞吐低延迟可扩展性,支持集群热扩展可持久性,可靠性,消息持久化到本地磁盘,支持数据备份容错性,允许集群中节点失败高并发,支持数千个客户端同时读写2 .使用场景日志收集消息系统运营指标用户活动追踪流式处理3.相关概念Producter 生产者Broker 服务器节点Topic 划分数据类partition 分区Consumer 消费者replica 副本zookeepe原创 2021-02-28 21:52:30 · 163 阅读 · 0 评论 -
SpringBoot使用H2作为单元测试数据库
SpringBoot使用H2作为单元测试数据库在进行单元测试时如果需要使用数据库辅助测试,如果使用实际中的数据库很容易相互影响,使用H2数据库可以开发测试分离,并且H2数据库是基于内存,每次重启后数据库都会被清空,这样每次的数据库都是新的,不会造成干扰。下面的案例使用H2数据库和jpa来进行1.新建项目说明:schema.sql文件中写入建表语句data.sql文件汇中写入实际想要的数据表数据2.pom依赖<?xml version="1.0" encoding="UTF-8"?&g原创 2021-04-17 16:26:53 · 3477 阅读 · 0 评论 -
SpringBoot中的注解
SpringBoot中的注解更新中。。。。。AB@Bean //声明返回的类可以注入到Spring容器中C@Configuration //声明下面的类为配置类@ConditionalOnClass(HelloService.class) //只有当HelloService存在时才会注册下面的类到容器中,可以利用该特性,选取一个依赖包中的类来注入该类,目的是只要依赖了这个包就注入该Bean@ConditionalOnMissingBean //容器中缺少该bean时进行创建原创 2021-04-11 10:40:36 · 168 阅读 · 0 评论 -
SpringBoot启动器简单案例
SpringBoot启动器简单案例1.创建一个maven项目2.项目结构及代码HelloAutoConfigurationpackage test.com;import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;import org原创 2021-04-11 10:37:55 · 212 阅读 · 0 评论 -
mockito简单案例使用
mockito使用mockito主要用来模拟调用和返回结果,常被用在测试例中1.原创 2021-03-21 18:32:53 · 598 阅读 · 0 评论 -
kafka中的序列化器&分区器&拦截器
kafka中的序列化器&分区器&拦截器1.序列化器序列化器的作用是在进行网络传输中将数据序列化为字节流进行传输,保证数据不会丢失,kafka中的序列化器有:字符串序列化器 StringSerializer整形 IntegerSerializer字节数组 ByteSerializera.实现接口org.apache.kafka.common.serialization.Serializer设置序列化器的方式 //设置key和value的序列化 prope原创 2021-03-14 14:18:42 · 1238 阅读 · 0 评论 -
简单kafka的java程序创建生产者和消费者
简单kafka的java程序创建生产者和消费者1.预置条件Kafka基础安装使用2.创建一个springboot工程2.1 引入相关依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLo原创 2021-03-07 12:35:22 · 738 阅读 · 0 评论 -
Euraka服务端简单配置
Euraka简单使用注册中心,主要用来微服务调用父工程pom依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.原创 2021-02-15 11:15:56 · 308 阅读 · 0 评论 -
微服务多模块相互依赖git上拉取到本地后依赖失效
微服务多模块相互依赖git上拉取到本地后依赖失效1. 首先确认自己idea的maven本地仓库地址是否正确2. 确认自己idea中的java版本是否为自己想要的3.通常微服务模块可能是在一个父工程下,而自己导入idea中时只导入了父工程,没有将其下的所有子工程都导入,导致子工程之间并没有建立相关的依赖关系,正确的结构如下图:并且如果没有进行导入,在idea中右侧maven的项目会是灰色,正常导入后:4.之后在idea右侧的maven父工程中统一clean后再进行一次install就ok了.原创 2020-12-05 08:16:33 · 976 阅读 · 0 评论 -
Sentinel配置使用
Sentinel配置使用Hystrix的替代方案,以流量为切入点,实现流量控制、熔断降级、系统负载,1. 阿里的应用场景:双十一秒杀、消息削峰填谷、实时熔断下游不可用服务Sentinel也提供完整的实时监控功能2.和Hystrix区别Sentinel也支持Hysreix的迁移3.名词:4.控制台4.使用版本对应客户端接入依赖导入客户端配置采用懒加载,只有在进行服务访问后才能显示到界面在controller中定义熔断和异常降级逻辑受保护的方法资源规则配原创 2020-11-22 20:37:30 · 651 阅读 · 0 评论 -
Hystrix使用
Hystrix使用Hystrix也称为断路器,主要用来实现容错机制,保证系统运行Hystrix支持RestTemplate,也支持Feign1.对RestTemplate支持1.1 引入Hystrix依赖1.2 在启动类中激活Hystrix使用@EnableCircuitBreaker注解1.3 配置熔断触发的降级逻辑在客户端controller中写入降级逻辑1.4 在需要受到保护的接口上使用@HystrixCommand配置1.5 设置默认的降级策略调用类上受保护方法上原创 2020-11-22 18:22:52 · 189 阅读 · 0 评论 -
consul的高可用集群
consul的高可用集群1.启动方式2.数据同步协议3.启动4.集群建立每个consul都执行测试在任意一个consul命令中执行原创 2020-11-22 13:50:37 · 295 阅读 · 0 评论 -
Ribbon使用
Ribbon使用Ribbon是奈飞开发的负载均衡组件,主要用来解决面对多个微服务提供方时如何实现负载均衡,主要的功能有:服务调用和负载均衡服务调用Eureka内部集成Ribbon在创建RestTemplate时声明@LoadBalanced使用RestTemplate调用远程服务不需要拼接微服务的URL,用服务名替代ip地址负载均衡nginx是服务端负载均衡,部署在服务端,请求来后根据配置选择节点ribbon是客户端负载均衡,部署在客户端(消费方),在服务调用前拿到服务列表,根据一定算原创 2020-11-22 10:54:07 · 278 阅读 · 0 评论 -
Eureka高可用配置
Eureka高可用配置原理:在一个Eureka注册中心出现故障是可以有其他的Eureka替代使用将Eureka1和Eureka2相互注册,同步信息讲将微服务注册到两个Eureka上相互注册服务注册到两个注册中心上,注册中心之间有信息同步的功能,但是为防止单台宕机,因此两台上都要进行注册消费端配置...原创 2020-11-22 09:36:27 · 138 阅读 · 0 评论 -
Euraka的搭建和使用
Euraka的搭建和使用1.基本配置需要:创建一个新项目引入springboot-Euraka的启动器配置yml文件创建启动类启动类上使用@EnableEurakaServer开启启动2.服务注册引入依赖修改yml配置文件启动类激活,也可以不写3.服务消费端引入依赖,和服务端依赖一致yml配置,也和服务端一致主配置类的注解开启可以写可以不写4.消费端使用注入springcloud提供的服务发现,DiscoveryClient,用来获取服务的元数据信息使原创 2020-11-22 09:19:42 · 1004 阅读 · 0 评论 -
SpringBoot整合Shiro完整案例代码
SpringBoot整合Shiro1.Shiro核心APISubject 用户主体SecurityManager 安全管理器Realm shiro 连接数据的桥梁2.依赖导入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifac原创 2020-11-10 14:30:09 · 812 阅读 · 0 评论 -
Java RestTemplate远程调用传递参数
Java RestTemplate远程调用传递参数最近使用Spring 的 RestTemplate 工具类请求接口的时候发现参数传递的一个坑,也就是当我们把参数封装在Map里面的时候,Map 的类型选择。 使用RestTemplate post请求的时候主要可以通过三种方式实现调用postForObject方法使用postForEntity方法调用exchange方法postForObject和postForEntity方法的区别主要在于:可以在postForEntity方法中设置head转载 2020-11-07 17:11:00 · 1897 阅读 · 1 评论 -
SpringBoot中获取resources文件夹下的文件
SpringBoot中获取resources文件夹下的文件例如我想获取header.html文件File file = ResourceUtils.getFile("classpath:templates/header.html");完整代码:@Controllerpublic class IndexController { @GetMapping("/header.html") @ResponseBody public String header() throw原创 2020-11-05 16:32:47 · 2002 阅读 · 1 评论 -
SpringBoot下使用ShardingShere实现分表操作
SpringBoot下使用ShardingShere实现分表操作表结构:因为后面使用了雪花算法保证生成的id唯一性,所以id列设置为bigInt类型项目结构:1.pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>原创 2020-10-29 20:10:37 · 571 阅读 · 0 评论 -
SpringBoot下使用consul实现远程调用
SpringBoot下使用consul实现远程调用1.依赖consul下载windows版:链接:https://pan.baidu.com/s/1u7IoMbJi0Bam46hP7yg8fQ提取码:2dhhlinux版:链接:https://pan.baidu.com/s/1FAX5tSTMomQ_PnGTz3sqmQ提取码:h2seconsul官网文档:https://www.consul.io/docs2.启动下载完成后直接解压,命令窗口输入:consul agent -dev原创 2020-10-28 20:09:55 · 2414 阅读 · 0 评论 -
SpringBoot下使用nacos+feign实现远程调用
Spring下使用feign实现远程调用同 Spring下使用RestTemplate实现单点远程调用一样使用SpringBoot下使用Swagger2开发API文档作为代码基础,远程实现单点调用不同于RestTemplate可以直接单点访问,feign需要使用注册中心才可以使用注册中心nacos下载地址:链接:https://pan.baidu.com/s/1UkRHDWZZ2ZwIPqGNI3YwkA提取码:dvnvnacos官网地址:https://nacos.io/zh-cn/ind原创 2020-10-28 10:24:02 · 2538 阅读 · 0 评论 -
服务的远程调用
服务的远程调用远程调用: RPC跨 JVM主要分为:基于HTTP协议(其实是对二进制流的一种封装)基于二进制协议阿里 dubbo : http://dubbo.apache.org/zh-cn/gRPCThrift基于二进制流的实现原理是:服务提供方有一个实现了接口A的方法m1,在服务调用方只需要有对应的接口A即可调用方法m1,过程中先将m1的参数在调用方进行序列化,通过Tcp/IP进行传输二进制流,在提供方接收到参数后进行反序列化,调用方法m1,然后再将结果序列化返回给调用原创 2020-10-27 17:51:53 · 266 阅读 · 0 评论 -
Spring下使用RestTemplate实现单点远程调用
Spring下使用RestTemplate实现单点远程调用使用的原理是httpclient官网地址:http://hc.apache.org/httpclient-3.x/但是已经停止服务了。。。Spring下使用参考文档:链接:https://pan.baidu.com/s/1xZU5EhZg6OecKX7KbI8xnA提取码:ewcc调用方法说明:1.案例基础基于实现的项目代码:SpringBoot下使用Swagger2开发API文档因此实现的基础是上面这个项目已经运行具体原创 2020-10-27 17:50:38 · 308 阅读 · 1 评论 -
SpringBoot下使用Swagger2开发API文档
使用Swagger2开发API文档使用基础在前后端分离开发的后端代码简单案例上进行1.依赖导入 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>spr原创 2020-10-27 12:34:37 · 249 阅读 · 0 评论 -
解决Illegal DefaultValue null for parameter type integer
解决Illegal DefaultValue null for parameter type integer该异常是由 swagger 引起的swagger 版本 2.9.2解决原因:重新导入 swagger-annotations 和 swagger-models 版本 为 1.5.21pom.xml 加入 相关依赖 亲测有效 <dependency> <groupId>io.swagger</groupId>转载 2020-10-27 11:21:43 · 1478 阅读 · 0 评论 -
MyBatis-plus中的Page出现返回total总为0的问题
MyBatis-plus中的Page出现返回total总为0的问题最近发现好多人出现使用插件后,分页的参数有问题,总结使用MyBatis-plus 插件,出现page total 为0的情况1:设置断言mysql@Configuration public class MybatisPlusConfig { /** * mybatis-plus分页插件 */ @Bean public PaginationInterceptor pa转载 2020-10-27 10:00:57 · 1567 阅读 · 0 评论 -
spring Boot整合Spring session
spring Boot整合Spring session1.模拟场景有两台相同的服务器,并且用nginx管理,用户的访问在两台机器之间权重相同(也就是说用户的访问是一次一台服务器,下一次访问的是另一台服务器),这样存在的问题是登录在一台服务器,下次访问应该传递回的是登录后的界面,但因为跨服务器,服务器对权限检查发现session中未包含信息,表明没有权限,而做了错误响应SpringSession就是为了解决上面的问题2.场景实现2.1依赖导入 <dependency>原创 2020-10-24 08:56:03 · 403 阅读 · 0 评论 -
SpringBoot下使用redis缓存机制
SpringBoot下使用redis缓存机制案例的目的是:在用户第一次访问时进行mysql查询,然后将该条数据缓存到redis中,后续的查询都直接在redis中进行缓存查询,并且在进行修改操作后及时将redis中的数据进行更新用到的工具:navicat 、RedisDesktopManager、Idea 、Postman1.导入依赖 <!--redis缓存--> <dependency> <gro原创 2020-10-22 16:41:33 · 334 阅读 · 0 评论 -
SpringBoot下使用cache启动器
SpringBoot下使用cache启动器1.依赖导入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--添加缓存启动器-->原创 2020-10-22 10:49:07 · 181 阅读 · 1 评论 -
Spring缓存注解@Cacheable
Spring缓存注解@Cacheable@Cacheable可以标记在一个方法上,也可以标记在一个类上。当标记在一个方法上时表示该方法是支持缓存的,当标记在一个类上时则表示该类所有的方法都是支持缓存的。对于一个支持缓存的方法,Spring会在其被调用后将其返回值缓存起来,以保证下次利用同样的参数来执行该方法时可以直接从缓存中获取结果,而不需要再次执行该方法。Spring在缓存方法的返回值时是以键值对进行缓存的,值就是方法的返回结果,至于键的话,Spring又支持两种策略,默认策略和自定义策略,这个稍后会进转载 2020-10-22 09:16:48 · 667 阅读 · 0 评论 -
SpringBoot下自定义缓存
SpringBoot下自定义缓存1.依赖导入 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <depen原创 2020-10-21 19:36:45 · 431 阅读 · 1 评论 -
SpringBoot下使用SpringDataRedis
SpringBoot下使用SpringDataRedis1.依赖导入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--spring-bo原创 2020-10-21 11:45:28 · 346 阅读 · 1 评论 -
SpringDataRedis原生使用
SpringDataRedis原生使用官方地址:https://docs.spring.io/spring-data/redis/docs/2.3.4.RELEASE/reference/html/#reference1.依赖导入 <!--依赖--> <!--web--> <dependency> <groupId>org.springframework.boot</group原创 2020-10-21 11:07:54 · 217 阅读 · 0 评论 -
MyBatis-Plus代码生成器使用
MyBatis-Plus代码生成器使用1.依赖导入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> //数据库连接 <dependency原创 2020-10-20 14:13:06 · 161 阅读 · 0 评论 -
SpringBoot中使用Jedis
SpringBoot中使用Jedis1.pom依赖<!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId></dependency>2.创建配置类...原创 2020-10-20 09:08:50 · 1246 阅读 · 0 评论 -
SpringBoot下使用MyBatis-Puls代码生成器
SpringBoot下使用MyBatis-Puls代码生成器1.官方地址:http://mybatis.plus/guide/generator.html#%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B2.数据库结构:3.依赖导入 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-原创 2020-10-19 13:55:18 · 186 阅读 · 0 评论