
Java
qq_42151769
这个作者很懒,什么都没留下…
展开
-
微服务gateway聚合swagger文档解决
gateway网关聚合swagger2文档,由于gateway网关需要排除spring-web依赖,使用的是webFlux,故需要对swagger做一些配置如下在对应的地方排除web依赖:<exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <a.原创 2021-04-28 10:45:52 · 1203 阅读 · 0 评论 -
spring 自定义参数解析器处理下划线参数转驼峰
先引入一篇博客:https://www.cnblogs.com/java-zhao/p/9119258.html关于处理使用@requstBody注解后自定义参数解析器,失败,原因是spring会使用自己默认的参数解析器来处理参数解析,上面这篇博客涉及了参数解析器的顺序因此大部门都是采用自定义注解来实现的我的业务场景: 对接第三方平台,别人调用我的接口,但是接口文档参数已经定好位有下划线的参数,觉得不规范,但是别人又不好修改,采用自定义注解+参数解析器来讲下划线的参数名称...原创 2020-08-13 17:52:46 · 3432 阅读 · 2 评论 -
nacos动态网关gateway+docker部署
首先启动nacos,在docker中安装好,启动nacos服务nacos的管理页面: nacos默认端口是8848编写网关服务: nacos-gatewaypom文件:<?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-insta...原创 2020-07-07 11:44:47 · 2963 阅读 · 0 评论 -
java反射获取到接口和类的方法对应的参数名称(非参数类型)
假设有方法: String adminTest(String mobile,int age);希望获取到参数名称: [mobile,age]java反射提供了很多方法,获取所有的方法,获取所有的参数类型等,但是却没有一个方法能够帮助我们获取方法的参数名列表。首先: 为什么我们需要获取到方法对应的参数名称? 原因是例如mybatis的mapper接口中定义了很多参数名称,在xml用占位符来标识,就可以类似通过这种方法来一一对应,包括spring的参数解析...原创 2020-06-20 10:49:16 · 3400 阅读 · 0 评论 -
feign传参MultipartFile问题解决
首先,feign服务之间的调用,传参默认的格式为:ContentType=application/x-www-form-urlencoded以表单的形式传参的,而文件流的传参,需要form-data的ContentType,否则会报错的首先引入依赖: <dependency> <groupId>io.github.openfeign.form</groupId> <artifactId>fei.原创 2020-06-14 23:00:29 · 5213 阅读 · 0 评论 -
elk日志系统搭建
下载elasticsearch,logstash,kibana三个软件,我用的windows版本演示下载地址,推荐使用华为镜像库,下载速度快:华为开源软件下载注意点: 最好这三者的版本一致,防止版本不同的差异1.下载完成后启动elasticsearch,可以不用配置ik分词启动完成后,访问http://localhost:9200,启动成功2.配置/启动kibana进入kibana的config目录,修改kibana.yml配置文件,设置如下配置:server.port:原创 2020-06-05 10:58:09 · 319 阅读 · 0 评论 -
关于java类加载的一个面试点分析
首先明确一点,类初始化加载static修饰的属性/代码块的时候是按照从上到下加载的,实例: package com.wm.jasypt.service;/** * @author 半卷流年 * @date 2020-6-3 15:56 */public class Singleton { private static Singleton singleton = new Singleton(); public static int counter1; ...原创 2020-06-03 16:29:37 · 201 阅读 · 0 评论 -
使用jasypt加密配置文件
添加依赖: <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.0</version> </dependency> .原创 2020-06-02 13:52:24 · 408 阅读 · 0 评论 -
spring cloud gateway网关处理跨域
首先,gateway中不能引入web的依赖:在网上找到的跨域配置如下:package com.wm.blog_gateway.config;import org.springframework.cloud.client.discovery.DiscoveryClient;import org.springframework.cloud.gateway.discovery.Disco...原创 2020-03-30 09:53:39 · 1230 阅读 · 0 评论 -
使用consul+gateway时,gateway转发报错
引入的consul服务依赖: <!--consul依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-disc...原创 2020-03-28 16:08:42 · 1907 阅读 · 0 评论 -
consul+feign调用报错Caused by: com.netflix.client.ClientException: Load balancer does not have available
报错的原因是feign默认使用ribbon作为负载均衡调用的:我的feign调用类如下:package com.wm.blog_admin.feign;import com.wm.blog_admin.feign.factory.PictureClientFallbackFactory;import com.wm.blog_common.constatnt.Com...原创 2020-03-27 10:34:27 · 10720 阅读 · 2 评论 -
转载: spring boot定义返回json过滤null值/空值不序列化不生效
增加配置: package com.wm.auth.config;import com.fasterxml.jackson.annotation.JsonInclude;import com.fasterxml.jackson.databind.DeserializationFeature;import com.fasterxml.jackson.databind....转载 2020-03-19 15:38:46 · 2680 阅读 · 0 评论 -
nginx部署前后端项目,前段vue,后端spring boot
首先创建vue项目:在helloWord.vue组件中改造,如下:<template> <div class="hello"> <h1>{{ msg }}</h1> <h2>Essential Links</h2> <button @click="handleClick">...原创 2020-02-23 22:16:39 · 798 阅读 · 0 评论 -
docker部署jar
新建一个spring boot项目如下:该项目,就一个请求将项目打包为jar新建DockerFile文件,注意必须为DockerFile文件名称,并且没有扩展名称,别文件类型为.txt格式的文件内容如下:FROM java:8VOLUME /tmpADD test-0.0.1-SNAPSHOT.jar test.jarENTRYPOINT ["java",...原创 2020-02-20 16:44:04 · 269 阅读 · 0 评论 -
docker中安装rabbitmq
拉取rabbitmq镜像docker pull rabbitmq:3-management启动镜像(默认用户名密码),默认guest用户,密码也是guestdocker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:3-management启动镜像(设置用户名密码...原创 2020-02-13 20:14:06 · 183 阅读 · 0 评论 -
自定义spring boot starter
SpringBoot中的starter是一种非常重要的机制,能够抛弃以前繁杂的配置,将其统一集成进starter,应用者只需要在maven中引入starter依赖,SpringBoot就能自动扫描到要加载的信息并启动相应的默认配置。starter让我们摆脱了各种依赖库的处理,需要配置各种信息的困扰。SpringBoot会自动通过classpath路径下的类发现需要的Bean,并注册进IOC容器。S...原创 2020-01-15 14:47:15 · 169 阅读 · 0 评论 -
java延时队列的使用
业务场景: 需要在定时器中查询某个人的状态(相当于实时查询),判断是否需要推送消息,推送消息的机制是20分钟之后,并且需要无限推送,使用delayQueue来实现实现细节: 定时器扫描任务,维护一个需要推送消息的map,key为mobile,value为延时推送消息对象,同时维护一个queue,这个queue存放需要推送的对象每次先冲map中取出推送对象(根据mobile获取):...原创 2020-01-10 10:12:36 · 380 阅读 · 0 评论 -
记录maven install到本地,其他项目引入jar,报错程序包不存在
首先新建一个项目,会自动在pom.xml中引入打包插件的依赖,如下: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artif...原创 2020-01-08 11:20:29 · 2010 阅读 · 0 评论 -
spring boot+spring security+jwt实现安全
本项目使用 spring boot,spring security,jwt,mybatis-plus关于mybatis-plus代码生成的,请看我的另外一篇博客https://blog.youkuaiyun.com/qq_42151769/article/details/103801366自定义权限不足返回,自定义未登录返回表结构:项目截图...原创 2020-01-03 09:49:06 · 516 阅读 · 3 评论 -
mybatis-plus代码生成
添加依赖:<?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:/...原创 2020-01-02 11:28:45 · 425 阅读 · 0 评论 -
自定义类读取properties/yml配置文件
这里记录一种spring boot读取配置文件的方式,不讨论@Value的方式了,那个太简单了假设我们Yml中有配置: ##### 自定义队列信息user: mq: log: queue: logQueue exchange: logExchange routingKey: logRk mail: queue:...原创 2019-12-18 14:35:49 · 331 阅读 · 0 评论 -
spring 中ApplicationContextInitializer使用
ApplicationContextInitializer是Spring框架原有的东西,这个类的主要作用就是在ConfigurableApplicationContext类型(或者子类型)的ApplicationContext做refresh之前,允许我们对ConfiurableApplicationContext的实例做进一步的设置和处理。ApplicationContextInitiali...原创 2019-11-27 14:34:21 · 1224 阅读 · 0 评论 -
spring boot注入+远程debug启动
查看spring boot官网文档:以下是一个@ServiceBean,其使用构造注入方式获取一个必需的RiskAssessorbean。package com.example.service;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.st...原创 2019-11-12 10:13:39 · 279 阅读 · 0 评论 -
RequestBodyAdvice和ResponseBodyAdvice使用完成入参解密和返回加密
模拟项目中使用RequestBodyAdvice对前端传入的数据进行解密(入参),请求成功之后使用ResponseBodyAdvice对返回值进行加密处理注意点:分别需要实现接口RequestBodyAdvice 和 ResponseBodyAdvice,需要配合注解@ControllerAdvice使用特别需要注意的是,针对RequestBodyAdvice仅作用在请求参数有注解@...原创 2019-11-11 17:24:57 · 2203 阅读 · 0 评论 -
map.merge()使用
计算一个账户的余额,假设一个账户集合,账户中有姓名和金额,现在需要计算名字相同的(同一人)的总金额:Account对象如下:package com.wm.test.entity;import lombok.Builder;import lombok.Data;import lombok.ToString;import lombok.experimental.Acce...转载 2019-11-08 15:16:34 · 1029 阅读 · 0 评论 -
spring cloud gateway+自定义全局/过滤器工厂
说明: spring cloud + gateway + eureka + 网关过滤器网关项目和模拟请求项目作为消费者注册到eureka中,另外起了一个eureka注册中心项目新建eureka注册中心项目:添加依赖: 注意依赖是eureka-server<?xml version="1.0" encoding="UTF-8"?><project...原创 2019-11-07 16:07:18 · 826 阅读 · 1 评论 -
记录一个jxl导出excel工具类
自定义注解ExcelFieldpackage com.hfepay.ai.platform.application.attend.annotation;import java.lang.annotation.*;/*** * @ClassName: ExcelField * @Description: 导出注解 * @Author: wm_yu * @Create_tim...原创 2019-10-26 17:44:35 · 238 阅读 · 0 评论 -
java8时间工具类
记录一个比较全的java8操作时间的工具类:package com.wm.test.util;import lombok.extern.slf4j.Slf4j;import org.springframework.util.StringUtils;import java.time.*;import java.time.format.DateTimeFormatter;impor...原创 2019-10-26 15:58:48 · 371 阅读 · 0 评论 -
spring boot spring security jwt实现单点登录
流程:项目A继承登录,获取到token值(JWT生成),项目B携带这个token去请求,请求成功,实现只要项目A完成了登录,项目B免登录,只要直接访问就可以了项目A的搭建 引入依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4....原创 2019-10-25 16:52:38 · 455 阅读 · 0 评论 -
spring boot整合security(二)
前面实现了最基本的登录,但是肯定是不满足需求的,下面,我们自定义配置:增加配置类package com.wm.demo.config;import org.springframework.security.config.annotation.web.builders.HttpSecurity;import org.springframework.security.config.an...原创 2019-10-18 17:54:00 · 182 阅读 · 0 评论 -
spring boot整合security学习(一)
添加依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency&g...原创 2019-10-18 17:31:49 · 143 阅读 · 0 评论 -
记录lombok的几个注解的使用,和两个集合求交集
引入lombok依赖: <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>编写实体类:package com...原创 2019-10-17 14:30:22 · 464 阅读 · 0 评论 -
springboot+elk
安装ElasticSearch版本:6.4.2 下载地址 解压到本地目录 运行bin目录下的elasticsearch.bat文件(此文件是批处理文件,在Windows下双击也可以,但是双击之后,如果出现错误,我们是看不见的,所以此处不建议双击) 建议使用cmd命令启动: #进入cmd控制台,进入elasticsearch.bat文件所在目录,然后运行如下命令elasticsea...转载 2019-09-24 16:54:34 · 212 阅读 · 0 评论 -
Mybatis-plus代码生成AutoGenerator使用,已经基本配置使用
首先,引入依赖:<?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://...原创 2019-10-09 17:09:04 · 2607 阅读 · 0 评论 -
Optional ,map(),flatMap
package com.wm.javajj.option;import com.wm.javajj.model.MyUUU;import com.wm.javajj.model.UUU;import org.junit.Test;import java.util.ArrayList;import java.util.List;import java.util.Optional;...原创 2019-08-02 20:40:59 · 2102 阅读 · 0 评论 -
spring boot自定义拦截器,自定义注解实现简易的权限控制注解
首先,spring boot需要添加web的依赖,因为是基于web的拦截(拦截controller):自定义权限注解:package com.hf.mypractice.annocation;import java.lang.annotation.*;/** * @Description: 定义权限注解 * @Date: 2019/1/11 * @Auther: wm yu...原创 2019-01-21 15:11:24 · 564 阅读 · 0 评论 -
MD5加密解密
package com.t3.ts.driver.resume.utils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import javax.crypto.Cipher;import java...转载 2019-09-12 18:14:11 · 971 阅读 · 0 评论 -
spring切面注解失效
在项目中使用切面注解做数据脱敏时,导出的数据也需要脱敏处理,遇到了在一个类里面调用本类的方法切面失效,解决方法如下:切面注解:package com.t3.ts.driver.resume.aspect;import java.lang.annotation.*;/** * @Description: 数据脱敏注解 Filed * @Date: 2019/9/10 * @A...原创 2019-09-12 17:31:06 · 2997 阅读 · 0 评论 -
excel上传/下载使用注解方式,非常实用的一个demo工程
在pom添加poi依赖:<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.12</version> ...原创 2019-03-21 17:28:21 · 314 阅读 · 0 评论 -
集合转数组的toArray()和toArray(T[] a)方法需要注意地方
转载博客:https://www.cnblogs.com/goloving/p/7693388.html转载 2019-03-21 14:30:45 · 211 阅读 · 0 评论