CompletableFuture
一个能思想的人,才真是一个力量无边的人。——巴尔扎克 我们之前使用异步 123456789101112131415public static ExecutorService executor = Executors.newFixedThreadPool(10); final Future<Integer> submit = executor.submit(new Callable<Integer>() { @Override public Integer call() throws Exception { print("原始异步Callable"); return 1; } }); executor.execute(new Runnable() { @Override public void run() { LineUti...
sentinel监控不到2级接口?加上@SentinelResource就可以?
真正的快乐是内在的,它只有在人类的心灵里才能发现。——布雷默 如果出现这种问题啊 可以看你的项目启动日志 发现输出如下一句话 2021-03-16 23:24:49.986 INFO 18604 — [ main] c.a.c.s.SentinelWebAutoConfiguration : [Sentinel Starter] register SentinelWebInterceptor with urlPatterns: [/*]. 看到这句话差不多懂了吧? Sentinel提供的SentinelWebInterceptor的urlPatterns默认为/* 我们跟踪配置文件com.alibaba.cloud.sentinel.SentinelProperties 找到这个配置 12345spring: cloud: sentinel: filter: url-patterns: /** 我们设置为/**后,所有接口都会被监控到啦~
Momo Code Sec inpoector
凡笑者,就表现着他尚有生活的胆和力。——德懋庸 介绍个idea插件 下载后重启idea 然后可以看到我们的代码中出现了更多审查 我们可以点击一键修复 这个插件可以避免我们代码中的潜在隐患,很香啊
seata实现分布式事务
尽管世界和人生是坏透了,其中却有一件东西永远是好,那便是青春——显克维奇 首先是下载seata1.4.1 然后解压 先修改conf下的registry.conf 把type改为nacos 进入bin 打开控制台运行seata-server.bat 然后在项目中引入依赖,记得需要分布式式事务的服务都要配置 12345<!-- seata 分布式事务 --><dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-seata</artifactId></dependency> 配置类 1234567891011121314151617181920212223242526272829303132333435package com.ruben.config;import com.alibaba.druid.pool.DruidDataSource;im...
fastJson的JSONField注解
真正的快乐是内在的,它只有在人类的心灵里才能发现。——布雷默 相信关于FastJson大伙都不陌生 今天聊聊fastjson的这个注解@JSONField 首先它可以放到方法上 例如我们pojo的getter和setter等 其次用的最多的是放到属性上 例如我这里新建一个POJO 12345678910111213@Data@Builder@NoArgsConstructor@AllArgsConstructorprivate static class Student implements Serializable { private static final long serialVersionUID = -3289647584974663707L; private String name; private Integer age; private String job; private GenderEnum gender; private Date birthday; private String json;}...
yml中list写法
三更灯火五更鸡,正是男儿读书时。黑发不知勤学早,白首方悔读书迟。——颜真卿 之前写过一个springboot自定义配置 当时配置map使用的是这种方式 123456ruben: number: 4444 avatar: /img/oss/2020-06-01/head.jpg gender: male hobby: ["游戏","动漫","编程"] introduce: {"food": "blood","programLanguage": "java"} 这里hobby是一个List<String>,introduce是一个Map<String,String>,实际上我们可以使用如下写法 1234567891011ruben: number: 4444 avatar: /img/oss/2020-06-01/head.jpg gender: male hobby: -...
gateway简单配置
生命不等于是呼吸,生命是活动。——卢梭 GAV 123456<!-- gateway 网关 --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> <version>2.2.0.RELEASE</version></dependency> 记得要注释掉我们之前引入的web 1234<!-- <dependency>--><!-- <groupId>org.springframework.boot</groupId>--><!-- <artifactId>spring-boot-starter-web</artifactId>...
springSession
慎易以避难,敬细以远大。一一韩非子 依赖管理器 1234567891011<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-bom</artifactId> <version>Corn-SR2</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies></dependencyManagement> 依赖 123456<dependencies> <dependency> <groupId&g...
nacos动态配置
十年树木,百年树人。——《管子》 昨天说了openfeign实现远程调用,今天继续 用nacos作为配置中心实现动态配置 依赖上面已经引入了,直接把官方的demo拿来 不过要注意,我们如果是yml配置的话千万别忘了指定file-extension 12345678spring: cloud: nacos: config: server-addr: 127.0.0.1:8848 file-extension: yml application: name: ruben-provider 然后是controller,这里是需要加上@RefreshScope注解实现动态更新配置 123456789101112131415161718192021package com.ruben.controller;import com.ruben.enumeration.GenderEnum;import org.springframework.beans.factory.annotation.Value;import org.springf...
openfeign远程调用
不患人之不己知,患不知人也。——孔子《论语》 书接上文,我们配置了nacos,实现了服务注册与发现 我们再配置一台 123456789spring: cloud: nacos: config: server-addr: 127.0.0.1:8848 application: name: ruben-consumerserver: port: 8081 在配好的这台ruben-consumer中随便写个接口 12345678910111213141516package com.ruben.rubenproducerdemo.controller;import com.ruben.rubenproducerdemo.pojo.dto.PageDTO;import com.ruben.rubenproducerdemo.utils.AjaxJson;import org.springframework.web.bind.annotation.*;@RestController@RequestMapping("study"...
