新星计划
智航云科技
学如逆水行舟,不进则退
展开
-
stream 根据指定属性去重
import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;import java.util.ArrayList;import java.util.Comparator;import java.util.List;import java.util.TreeSet;import java.util.stream.Collectors;/*原创 2021-06-27 10:35:02 · 653 阅读 · 0 评论 -
stream filter 增强判断 校验是否有不符合条件的数据
import lombok.Builder;import lombok.Data;import org.springframework.util.StringUtils;import java.util.ArrayList;import java.util.List;/** * stream filter 增强判断 * * 参数校验 校验图片名称和url 是否都填写 名称是否包含2 * */public class StreamTest10 { public static原创 2021-06-27 10:32:55 · 1317 阅读 · 0 评论 -
springCloud入门(三)
Ribbon是Netflix发布的负载均衡器,它可以帮我们控制HTTP和TCP客户端的行为。只需为Ribbon配置服务提供者地址列表,Ribbon就可基于负载均衡算法计算出要请求的目标服务地址。Ribbon默认为我们提供了很多的负载均衡算法,例如轮询、随机、响应时间加权等——当然,为Ribbon自定义负载均衡算法也非常容易,只需实现 IRule 接口即可。在Spring Cloud中,当Ribbon与Eureka配合使用时,Ribbon可自动从Eureka Server获取服务提供者地址列表,并基于负载原创 2021-06-08 23:32:21 · 181 阅读 · 3 评论 -
java 分组读取配置信息
如果在项目中有多个系统对接,每个系统有一套配置文件,例如:加解密密钥,唯一标识,系统地址等等这个时候如果在使用时候1个1个的读取会很混乱,所以可以通过配置按照不同系统配置获取代码如下:配置文件channel: config: keys: gwh: name: lisi age: 20 number: gwh tk: name: zhangsan age: 22 number: tk配置信息实体原创 2021-06-07 23:51:09 · 184 阅读 · 1 评论 -
java 使用 Hibernate Validator完成参数必输校验
Hibernate ValidatorWhathibernate-validator 是 hibernate 组织下的一个开源项目 。hibernate-validator是 Jakarta Bean Validation 3.0.规范的实现。Jakarta Bean Validation 3.0定义了一个实体和方法验证的元数据模型和 API。通过使用注解的方式在对象模型上表达约束以扩展的方式编写自定义约束提供了用于验证对象和对象图的API提供了用于验证方法和构造方法的参数和返回值的API原创 2021-06-07 23:43:05 · 669 阅读 · 3 评论 -
springCloud入门(二)
服务注册与服务发现上节讲到,用户预约图书馆的时候,使用了restTemplate调用图书馆服务,方法如下:可以看到调用的地址是写死的,这样维护成本非常高,稍微变个端口或者ip就需要在代码里面重新维护,服务少还能接收,如果有100个,或者200个那只单单改IP和端口就需要好长时间。所以我们要思考一下,怎样才能让服务消费者总能找到服务提供者呢?目前市面上把服务消费者找到服务提供者的这种机制称为服务发现,又或者服务注册服务发现原理很简单好比我们在mysql中建立一张注册表应用启动时,自动往注册表原创 2021-06-07 23:07:30 · 208 阅读 · 2 评论 -
springCloud入门(一)
Spring Cloud是在Spring Boot基础上构建的,用于快速构建分布式系统的通用模式的工具集。核心功能Distributed/versioned configuration 分布式/版本化的配置管理Service registration and discovery 服务注册与服务发现Routing 路由Service-to-service calls 端到端的调用Load balancing 负载均衡Circuit Breakers 断路器Global locks 全局锁L原创 2021-06-06 23:25:38 · 245 阅读 · 2 评论 -
@Value方法后面加:null
:null 如果没有找到该信息运行时不做校验获取值时显示为null,如果有的话正常返回就是说如果在参数后面加了:null如下:去启动项目的时候,会到配置类中加载参数,如果可以加载到数据就取配置参数,没有就取null测试代码如下:配置类ymltestUser: name: zhangsan sex: 男 age: 18controllerimport org.springframework.beans.factory.annotation.Value;原创 2021-06-06 22:06:20 · 639 阅读 · 0 评论 -
Java封装OkHttp3工具类
如下:Maven项目在pom文件中引入jar包<dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.10.0</version></dependency><dependency> <groupId>com.alib转载 2021-06-06 21:57:52 · 478 阅读 · 0 评论 -
根据图片url获取图片信息并返回MultipartFile
在图片上传的过程中,如果是三方接口对接,在传输图片的过程中,其第三方很可能会给一个图片的基本信息,比如:文件名称,类型,url等等,这个时候我们需要接收到他的数据展示到我们的业务平台上面,但是,业务平台展示图片的时候需要从文件管理系统中取数据,这个时候就需要我们在接收数据的时候就根据其url将其拉取下来,并传输至文件系统中代码如下:import lombok.extern.slf4j.Slf4j;import org.apache.commons.fileupload.FileItem;import原创 2021-06-06 21:44:45 · 2395 阅读 · 0 评论 -
设计模式之抽象工厂模式
抽象工厂模式的定义与特点抽象工厂(AbstractFactory)模式的定义:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。使用抽象工厂模式一般要满足以下条件系统中有多个产品族,每个具体工厂创建同一族但属于不同等级结构的产品。系统一次只可能消费其中某一族产品,即同族的产品一起使用。抽象工厂模式除了具有工厂原创 2021-05-26 23:38:29 · 118 阅读 · 0 评论 -
stream操作list过滤其中的数据并转换为新的list
代码如下:package com.example.demo.test;import com.alibaba.fastjson.JSONObject;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.stream.Collectors;public class StreamTest9 { public static void main(String[]原创 2021-05-26 23:26:14 · 4512 阅读 · 0 评论 -
List 去除重复数据的几种方法
使用LinkedHashSet使用jdk1.8新特性distinct利用List的contains方法循环遍历去重代码如下package com.example.demo.test;import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedHashSet;import java.util.List;import java.util.stream.Collectors;/** * list .原创 2021-05-26 23:21:59 · 219 阅读 · 0 评论 -
服务无法注册到注册中心解决
启动服务的时候报了这个错误org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'eurekaAutoServiceRegistration': Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean f原创 2021-05-26 23:19:28 · 1516 阅读 · 1 评论 -
spring cloud 整合ribbon问题
springCloud 整合ribbon的时候出现了这个问题java.lang.IllegalStateException: No instances available for localhost at org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.execute(RibbonLoadBalancerClient.java:89) ~[spring-cloud-netflix-ribbon-2.0.2.RELEASE原创 2021-05-26 23:07:06 · 327 阅读 · 2 评论 -
The bean dataSource defined in
111原创 2021-05-26 22:54:04 · 307 阅读 · 0 评论 -
算法和数据结构概述
算法概述什么是算法?算法,对应的英文单词是algorithm,这是一个很古老的概念,最早来自数学领域。在数学领域里,算法是用于解决某一类问题的公式和思想。算法的定义解决问题的思路,是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。算法的特性输入:可以有0到多个数据输出:每一个算法最少要有一个输出有穷性:再有限的时间内执行出结果确定性:对结果的确定性,一个输入对应一个输出可行性:算法可以解决实际问题算法的基本要求正确性:正确原创 2021-05-26 00:11:04 · 398 阅读 · 3 评论 -
设计模式之工厂方法模式
上一篇讲了简单工厂模式,其特点是:工厂模式的定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。而工厂方法模式则是对简单工厂模式进一步的抽象化,其好处是可以使系统在不修改原来代码的情况下引进新的产品,即满足开闭原则。工厂方法模式优点:用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产品的具体创建过程灵活性增强,对于新产品的创建,只需多写一个相应的工厂类。典型的解耦框架。高层模块只需要知道产品的抽象类,原创 2021-05-25 23:01:11 · 127 阅读 · 0 评论 -
IDEA 中刷新GIT新分支
新建1个分支以后,idea中切换分支,在右下角切换的时候,找不到分支,但是在gitlab中是可以查到的,以2021版本的idea为例,解决新建分支不显示问题选择git ->fetch刷新一下即可原创 2021-05-25 22:43:05 · 3703 阅读 · 2 评论