自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 JAVA8 移除两个相同的List对象

JAVA8 移除两个相同的List对象List<Data> data1 = new ArrayList<>();data1.add(new Data(7, 15));data1.add(new Data(2, 17));data1.add(new Data(2, 17));List<Data> data2 = new ArrayList<>();data2.add(new Data(1, 11));data2.add(new Data(10,

2020-05-09 15:04:22 2000

原创 SpringCloud Config 分布式配置中心

Config是什么:SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。怎么玩SpringCloud Config分为服务端和客户端两部分。服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息,加密/解密信息等访问接口客户端则是通过指定的配置...

2020-04-03 16:13:47 49

原创 SpringCloud Zuul 路由网关

是什么:Zuul包含了对请求的路由和过滤两个最主要的功能:其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础.Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的消息,也即以后的访问微服务都是通过Zuul跳转后获得。...

2020-03-28 17:41:14 41

原创 SpringCloud Hystrix 断路器

是什么:Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。“断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应(FallBa...

2020-03-28 15:52:57 39

原创 SpringCloud Feign 负载均衡

上篇Ribbon博客Feign的简介:Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特 性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。简而言之:Feign 采用的是基于接口的注解F...

2020-03-19 16:57:16 50

原创 SpringCloud Ribbon 负载均衡

本文与上一篇博客有所关联是什么:Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Bal...

2020-03-17 14:27:27 43

原创 SpringCloud Eureka 服务治理

Eureka 基本架构Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现(请对比Zookeeper)。Eureka 采用了 C-S 的设计架构。Eureka Server 作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用 Eureka 的客户端连接到 Eureka Server并维持心跳连接。这样系统的维护人员就可以通过...

2020-03-12 15:44:38 52

原创 实现Spring JDK代理和CGLIB代理

JDK代理:JDK动态代理其实也是基本接口实现的。因为通过接口指向实现类实例的多态方式,可以有效地将具体实现与调用解耦,便于后期的修改和维护。创建"Car"接口:package com.example.demo;/** * 定义Car接口 */public interface Car { void whatCar();}2.创建"Mazda"类,实现接口"Car"...

2020-01-11 16:20:51 60

原创 Springboot 使用HibernateValidator校验必填参数

前言:在开发中经常需要写一些字段校验的代码,比如字段非空,字段长度限制,邮箱格式验证等等,写这些与业务逻辑关系不大的代码个人感觉有两个麻烦:验证代码繁琐,重复劳动方法内代码显得冗长每次要看哪些参数验证是否完整,需要去翻阅验证逻辑代码hibernate validator(官方文档)提供了一套比较完善、便捷的验证实现方式。spring-boot-starter-web包里面有hibe...

2019-12-02 17:24:28 819

原创 Springboot @Async异步调用

在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后,就已经内置了@Async来完美解决这个问题,本文将介绍在springboot中如何使用@Async。前言:Java中交互方式分为同步和异步两种:同步交互:指发送一个请求,需要等待返回,然后才能...

2019-11-23 15:12:01 68

原创 Springboot 集成Quartz实现定时任务

一、JAVA常见的几种定时任务比较Timer:jdk自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让程序按照某一个频度执行,但不能在指定时间运行,一般很少使用,主要用于非Spring项目简单的任务调度。SpringTask:Spring3.0以后自带的Task,可以将它看成一个轻量级的Quartz,使用起来比Quar...

2019-11-21 17:06:10 99

原创 JAVA8 LocalDateTime时间 使用案例

简介:新时间日期API常用、重要对象介绍:ZoneId: 时区ID,用来确定Instant和LocalDateTime互相转换的规则Instant: 用来表示时间线上的一个点(瞬时)LocalDate: 表示没有时区的日期, LocalDate是不可变并且线程安全的LocalTime: 表示没有时区的时间, LocalTime是不可变并且线程安全的LocalDateTime: 表示没...

2019-11-18 17:08:59 1599

原创 JAVA8 LocalDate时间 使用案例

简介:LocalDate——不包含具体时间的日期,比如2014-01-14。它可以用来存储生日,周年纪念日,入职日期等。java8中有个叫LocalDate的类,能用来表示今天的日期。这个类与java.util.Date略有不同,因为它只包含日期,没有时间。上代码:// 取当前日期:LocalDate now = LocalDate.now();System.out.println(...

2019-11-15 17:06:46 258

原创 JAVA8 Instant时间戳 使用案例

一、简介用于“时间戳”的运算。它是以Unix元年(传统 的设定为UTC时区1970年1月1日午夜时分)开始 所经历的描述进行运算二、文档介绍与实例1.now/* * NOW */Instant now = Instant.now();System.out.println("now:" + now);ZonedDateTime zonedDateTime = now.atZone...

2019-11-13 17:33:49 2474

原创 SpringBoot 整合 RestTemplate 实现远程调用接口

SpringBoot整合RestTemplate实现远程调用接口简介:spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,统一了RESTful的标准,封装了http链接,我们只需要传入url及返回值类型即可。相较于之前常用的HttpClient,RestTemplate是一种更优雅的调用RESTful服务的方式。RestTemp...

2019-10-29 17:42:49 2707

原创 SpringBoot 整合 RibbitMq 实现发送消息

一:首先得安装ribbitmq的服务,参考博客。二:了解RibbitMq的基本原理,以及使用方法。关键名词:ConnectionFactory(连接管理器):应用程序与Rabbit之间建立连接的管理器,程序代码中使用;Channel(信道):消息推送使用的通道;Exchange(交换器):用于接受、分配消息;Queue(队列):用于存储生产者的消息;RoutingKey(路由键...

2019-10-18 15:31:10 288

原创 Mysql 关键子IN 不按传入的顺序返回数据

实例:SELECT plate_no,user_car_id FROM customer_user_car WHERE user_car_id IN (57603,57612,57607,57605)这样的情况取出来后,其实,id还是按由小到大排序的,但如果我们真要按IN里面的顺序排序怎么办?SQL能不能完成?是否需要取回来后再foreach一下?其实mysql就有这个方法 :SELECT...

2019-07-18 18:00:54 201

原创 MySql GROUP_CONCAT每次执行语句时数据顺序变化

sql语句:SELECT u.user_id AS userId, GROUP_CONCAT(uc.user_car_id) AS userCarId, u.mobile, ui.real_name AS realName, GROUP_CONCAT(uc.plate_no) AS plateNo FROM customer_user AS u JOIN cus...

2019-06-21 15:05:28 2203 2

原创 mybatis插入表数据不返回主键ID

返不返回主键id取决于这两个属性:useGeneratedKeys:xml映射器中配置的useGeneratedKeys参数只会对xml映射器产生影响,且在settings元素中设置的全局useGeneratedKeys参数值对于xml映射器不产生任何作用。keyProperty:对应的主键id...

2019-06-13 16:00:45 1788

原创 java8对List对象排序

工作中遇到的问题:获得List对象,需要根据对象中的CreateTime来排序分两个版本java8:List<CountCardDetailVo> all = new ArrayList<>();//根据创建时间降序排序all.sort(Comparator.comparing(CountCardDetailVo::getCreateTime).reverse...

2019-06-04 09:42:38 17425 6

原创 前端form表单提交数据后端接收报400

错误信息:后端接口:PostMan测试:如果将gradeId去掉,或者随便传个值就能访问成功:原因在于gradeId在实体类中是个基本数据类型,会出现转义错误,把它改成包装类型就可以了:Tips : java数据类型尽量用包装类型,不要用基本类型。...

2019-05-09 15:08:35 1443 1

原创 记SpringBoot @PathVariable使用时遇到的问题

第一个问题:接口:/** * 查询客户详细信息 * BY Oliver_Deng * @param userId 用户id * @return */ @ApiOperation(value="查询客户详细信息",notes = "根据传入id查询客户详细信息") @ApiResponses({@ApiResponse(code=...

2019-04-25 17:50:33 7641

原创 使用工具类判断对象里面的属性的值是否相等

使用工具类判断对象里面的属性的值是否相等工具类:package com.zhongyitang.vehicle.helper.utils;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Method;import java.sql.Timesta...

2019-04-23 17:41:28 1154

原创 微信公众号开发-----实现模板、图文、文本、音乐、图片推送

本篇文章实现模板、图文、文本、音乐、图片推送,前提是已经搭建了微信开发环境。读完本文后,实现的主要效果如下

2019-04-13 15:19:03 2807

原创 微信公众号开发-----验证接入

首先要先申请一个测试账号(用于开发测试及功能体验),这种是平常普通用户是涉及不到的,是专门为开发人员准备的一种仅用于测试的公众号。由于用户体验和安全性方面的考虑,微信公众号的注册有一定门槛,某些高级接口的权限需要微信认证后才可以获取。所以,为了帮助开发者快速了解和上手微信公众号开发,熟悉各个接口的调用,微信推出了公众帐号测试号,无需公众帐号、快速申请接口测试号,通过手机微信扫描二维码即可获得,利...

2019-04-13 11:56:16 288

原创 解决错误: No converter found capable of converting from type [java.lang.String] to type [java.lang.Class

因为配置了这个:所以报了这个错:网上搜了很多资料,依然没有解决。只需要在pom文件加入:<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>...

2019-03-27 17:18:52 26389 4

原创 SpringBoot 使用 Redis

需求:用户点击保存信息的时候,并不将数据插入到数据库,只是保存起来,下次用户再点进来的时候可以回显信息给用户。点击提交后,还是将数据存进redis,当总店同意修改门店信息申请的时候,才更新到数据库再controller注入RedisTempate:点击修改门店信息跳转到的接口:/** * 点击修改门店信息跳转到的接口 * * @param storeMessageVo * @re...

2019-03-22 15:54:24 48

原创 对map key值为"yyyy-mm-dd"格式排序

出自:@Jason.Tanghttps://blog.csdn.net/qq_34382367代码:package com.redis;import java.util.GregorianCalendar;import java.util.HashMap;import java.util.LinkedHashMap;import java.util.Map;import jav...

2019-03-04 11:46:33 471

原创 基础面试题小结

问题:如果main方法被声明为private还能运行吗?答:不能运行,但编译不会出错。问题:==与equals的区别?答:==比较两个对象在内存里是不是同一个对象,就是说在内存里的存储位置一致。两个String对象存储的值是一样的,但有可能在内存里存储在不同的地方 。==比较的是引用而equals方法比较的是内容。问题:如果去掉了main方法的static修饰符会怎样?答:能编...

2019-03-03 18:09:35 53

原创 使用SpringBoot+MyBatis+MySQL完成面试题(部分)

1.先搭建项目,选择Web、MyBatis、MySQL等依赖。整体项目格式:配置文件:spring.datasource.url=jdbc:mysql://localhost:3306/Interview?useUnicode=true&amp;amp;characterEncoding=utf8spring.datasource.username=rootspring.datasource...

2019-02-27 17:04:23 1920

原创 线程同步初探

什么是线程同步?线程同步:即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作,而其他线程又处于等待状态,实现线程同步的方法有很多,临界区对象就是其中一种。线程同步的方法有很多钟,本文就选择一种线程同步的方式。整体代码:public class Main { public static void main...

2019-02-22 00:10:30 75

原创 JAVA线程初探

## 在java中,每次程序运行至少启动2个线程。一个是main线程,一个是垃圾收集线程。因为每当使用java命令执行一个类的时候,实际上都会启动一个jvm,每一个jvm实际上就是在操作系统中启动了一个进程。如何创建线程?有两种方式:1、实现Runnable接口:首先写出有参构造方法(new对象的时候默认调用的是无参构造,是系统自带的,不写也可以,写了有参构造方法的话,调用的就是有参构造...

2019-02-07 21:43:57 90

原创 Lambda初探

定义:Lambda就是简化了匿名内部类。本文部分内容转载自Jason.Tang的博客。https://blog.csdn.net/qq_34382367/article/details/86624085整体代码:import java.util.ArrayList;import java.util.List;import java.util.Optional;import java...

2019-01-30 16:31:05 41

转载 单点登陆

什么是单点登录?单点登录全称Single Sign On(以下简称SSO),是指在多系统应用群中登录一个系统,便可在其他所有系统中得到授权而无需再次登录,包括单点登录与单点注销两部分开始实现登陆:1、sso-client拦截未登录请求java拦截请求的方式有servlet、filter、listener三种方式,我们采用filter。在sso-client中新建LoginFilter.ja...

2019-01-29 16:59:04 196 1

原创 文件上传

配置文件:package com.jason.demo.config;import javax.servlet.MultipartConfigElement;import org.springframework.boot.web.servlet.MultipartConfigFactory;import org.springframework.context.annotation.Bean...

2019-01-08 17:16:15 47

原创 订单规格数据统计功能总结

**需求:**在页面上展示本月订单数,本月消费金额,上个月订单数,上个月订单金额,上个月成交的订单数,上个月成交的订单金额,根据所选择的时间段,展示出时间段所有的总订单笔数,总付款后订单笔数,用折线图展示出每日的订单笔数和付款后订单笔数,用第二个折线图展示出订单金额和付款后的订单金额,用饼图展示出支付方式的百分比。功能点一:实现思路:Mapper.xml中的sql 语句:传入开始时...

2019-01-08 16:40:37 2568

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除