- 博客(58)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 java 多线程 之匿名内部类实现多线程
package 匿名内部类实现多线程;public class Demo { public static void main(String[] args) { // 继承Thread类实现多线程 new Thread() { public void run() { for (int i = 0; i...
2018-12-21 17:17:00
2973
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Pc端和移动端 修改 token用户信息,数据的一致性
经常会遇到pc端和移动端 登录后 需要在redis里边存储用户信息,返回一个token给前端,然后通过token获取用户信息,当pc和移动端修改了用户信息之后,另一端会的数据还是不会发生改变,所以要在token存储的过程中做文章:1登录时:先获取token(jwt等算法) ,用户信息,然后将token为key,用户id为value 保存在redis中,然后再通过用户id为key 存储用户信息...
2018-11-23 15:08:35
4766
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 前台传入base64格式图片上传,java后台转为MultipartFile
前台传入base64格式图片上传,java后台转为MultipartFile之前一直用MultipartFile去接收文件上传的数据,但是今天接触到app开发,前端from-data里边传的是base64格式的值,在这里做点小笔记,demo 以供参考:程序员之间的交流做好的方式是代码:||:public class BASE64DecodedMultipartFile impleme...
2018-09-18 18:11:47
20637
19
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
翻译 Spring Cloud Data flow
Spring Cloud Data Flow 介绍1.Data flow 是一个用于开发和执行大范围数据处理其模式包括ETL,批量运算和持续运算的统一编程模型和托管服务。2.对于在现代运行环境中可组合的微服务程序来说,spring cloud data flow是一个原生云可编配的服务。 使用spring cloud data flow,开发者可以为像数据抽取,实时分析,和数据导...
2018-03-23 15:48:11
1892
1
原创 FeignClient服务间调用 Openfeign ErrorDecoder caused java.io.IOException: stream is closed
Openfeign ErrorDecoder caused java.io.IOException: stream is closed
2022-09-17 17:10:28
1331
1
原创 Spring Validation 入参校验(自定义)
背景:1.Java API规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernate validation是对这个规范的实现,并增加了校验注解如@Email、@Length等。2.Spring Validation是对hibernate validation的二次封装,用于支持spring mvc参数自动校验。3.我们将会在Spring Validation 的基础上在定向的去再次通过自定义注解的方式进行 “分装”成我们的工具类。实现过程
2022-03-10 19:21:42
1667
原创 Java性能调优:使用JMC开启飞行记录器异常
在高性能的系统服务中,性能调优成为了必不可少的一部分。我在发现这个问题的时候是在使用jdk 1.8 版本,而在 (jdk 7u4 +)版本就已支持 通过JMC进行对服务的监控,也让我们跟容易对代码的进行监控,调优。如果不了解jmc怎么使用的可以参考:https://blog.csdn.net/yue530tomtom/article/details/80805412描述的很清晰,很详细。而我在这边遇到的一个问题是,在我本地使用的是Oracle 的jdk 而线上却使用了 open jdk,当要想监控服
2021-03-16 22:09:58
718
原创 通过DockerFile 安装 Caddy 2.v
这边省略了 Caddy的介绍和直接在宿主机上操作的过程,如果有需要可留言,我可以在整理一篇。这直接使用 DockerFile ,简单使用 Caddy2.v安装在DockerFile添加如下我的基础镜像是:ARG UBUNTU_CODENAME="xenial"FROM ubuntu:${UBUNTU_CODENAME}安装命令RUN apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
2021-02-24 17:17:24
1574
原创 Docker 图形化界面 portainer
在很多时候我们需要很简便的图形化界面进行管理我们的服务,portainer Docker图形化界面,帮我们管理 Docker,上代码:#下载 Docker 图形化界面 portainersudo docker pull portainer/portainer#创建 portainer 容器sudo docker volume create portainer_data#运行 portainersudo docker run -d -p 9000:9000 --name portainer
2020-09-21 11:01:27
502
原创 springCloud---替换注册中心eureka为nacos后 @Value 获取不到值
在替换为nacos后,启动时出现如下错误:@Value 获取不到值,无法解析${test} 占位符此时就会进行各种百度,google,查文档!而我遇到的这种情况是:在nacos配置内容中设置参数时,在 ‘=’ 左右加了空格,emmmm,所以无法识别!注意 在项目内部配置文件是可以加空格的,而在这儿不行!总之在编写配置内容的时候注意一下!避免这种奇怪问题。去除空格后获取成功!...
2020-09-16 10:22:04
4128
5
原创 springCloud---替换注册中心eureka为nacos
nacos的安装和介绍本篇不做介绍,有需要的可自行百度这边只记录下作为注册中心和配置中心作为注册中心直接上代码:pom.xml<?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-09-16 10:08:05
1867
原创 SpringBoot整合Docker(四)在idea中使用Docker integration 插件打包Docker镜像
这次主要是使用idea中的一个插件 Docker integration ,So:安装插件:设置Docker ,tcp连接Dcoker 服务器**注:**在这边连接时可能会出现如下:连接不了的问题,可能是没开启远程连接:去安装docker的服务器开启远程连接[root@izwz9eftauv7x69f5jvi96z docker]# vim /lib/systemd/system/docker.service#修改ExecStart这行ExecStart=/usr/bin/doc
2020-09-08 09:59:13
884
4
原创 SpringBoot整合Docker(三)将镜像发布至树莓派
首先要在树莓派上安装Docker,可去:https://docs.docker.com/engine/install/查看树莓派是否支持,如果支持,参考:https://shumeipai.nxez.com/2019/05/20/how-to-install-docker-on-your-raspberry-pi.html进行安装;接下来就是生成镜像了使用idea生成镜像可查看上篇文章:https://blog.csdn.net/cd420928908/article/details/1066510
2020-06-10 21:57:38
706
原创 SpringBoot整合Docker(二)打包项目至Docker并启动容器
1.安装docker插件2.添加pom<properties> <java.version>1.8</java.version> <docker.image.prefix>bozai</docker.image.prefix> </properties> <build> <plugins> <plugi.
2020-06-09 21:31:05
1238
原创 SpringBoot整合Docker(一) 安装Docker
Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。- 安装docker1.通过 uname -r 命令查看你当前的内核版本$ uname -r2、使用 root 权限登录 Centos。
2020-06-09 21:05:03
332
原创 Spring Cloud 中使用 ES(elasticsearch ) 7.1.1进行模糊搜索
Spring Cloud 中整合ES上篇已经处理了,这篇简单记录在ES中进行模糊搜索查询的试下单字段模糊搜索QueryBuilders.wildcardQuery("PEOPLE_NICKNAME.keyword", "*"+req.getNickName()+"*");其中使用了通配符查询,注意使用搜索是要在字段名后边加个**.keywoord**,然后将入参 req.getNick...
2020-05-06 21:37:12
1212
原创 FTP上传文件FtpClient.storeFile 返回false问题
记: public void uploadByte(byte[] data,String ftpFile,String SourceFileName){ try { if (ftpFile == null) { System.out.println(">>>>>待上传文件为空或者文件不存在**...
2019-10-16 17:02:31
2342
原创 Mybatis Plus 自定义方法实现分页
一般物理分页,即通过sql语句分页,都是在sql语句后面添加limit分页语句,在xml文件里传入分页的参数,再多配置一条sql,用于查询总数: <select id="queryStudentsBySql" parameterType="map" resultMap="studentmapper"> select * from student limit ...
2019-08-13 19:51:15
18851
原创 通过Logstash将MySql中多表导入ES(Elasticsearch)
这边就对 将MySql导入ES做一个简单的记录,如果有想查看Logstash信息或者它的安装方法等可以去看:Logstash官网文档:https://www.elastic.co/guide/en/logstash-versioned-plugins/current/index.htmlLogstash安装:https://www.cnblogs.com/dyh004/p/9638675.h...
2019-06-27 10:07:40
3951
原创 springBoot / Cloud 整合 ES(elasticsearch ) 7.1.1
这篇文章简单的记录一下springBoot /Cloud 整合 最新版本的ES搜索引擎, 如果有需要开始安装等相关资料可以查看:ES:Es权威指南(中文版):https://es.xiaoleilu.com/010_Intro/00_README.htmlES 安装https://blog.csdn.net/andyzhaojianhui/article/details/75195296...
2019-06-25 14:10:14
8537
8
转载 Redis 总结精讲 看一篇成高手系统
转 Redis 总结精讲 看一篇成高手系统-4 2018年05月31日 09:00:05 hjm4702192 阅读数:135466 ...
2019-04-16 11:41:49
161
原创 设计模式[一]---设计模式的六大原则
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。**什么是 GOF(四人帮,全拼 Gang of Four)?**在 1994 年,由 Erich Gamma、Richard Helm、Ralph J...
2019-04-03 11:56:56
174
原创 Spring Boot admin
Spring Boot 极大的简化了我们的开发,他也提供了对于Spring Boot 应用的监控 ,Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查、审计、统计和HTTP追踪等。所有的这些特性可以通过JMX或者HTTP endpoints来获得,但是它反馈给我们的信息是这样的{ "status":"UP", "details":{...
2019-03-29 17:44:52
183
原创 乐观锁与悲观锁
何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。下面我会通过抢购一件(高并发)商品去说它们的区别:悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一...
2019-03-12 18:02:30
152
转载 Spring Boot整合 activeMQ
springboot集成activeMQ1.添加依赖:&lt;!-- activemq --&gt;&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-ac
2019-03-12 14:17:26
128
原创 异步线程池
异步其实在很多地方都会用到,比如报表,生成二维码等,所以希望在点击按钮之后,页面不需要等待报表的生成,因为等待生成的过程会很漫长和枯燥,所以就需要异步去处理这件事情:在Spring中存在一个AsyncConfigurer 接口,它是一个可以配置异步线程池的接口,它的源码清单:public interface AsyncConfigurer { //获取线程池 @Nullable...
2019-03-12 09:18:22
190
原创 SpringMVC自定义参数转换规则
很神奇,SpringMVC怎么将参数进行转换的,这后面有做了什么事,今天查阅一些资料,在这儿做个笔记:为什么要自定义参数转换规则:之前我们都是添加一下类似@RequestBody 的注解,就讲前端给我们以json格式的参数接收和转换,在这就可以找到答案;有时候和第三方公司对接的时候,会以密文的形式传递参数,SpringMVC自带的将不在适用,需要我们自定义一些规则去处理;处理器获取参数...
2019-03-07 16:14:57
576
原创 SpringBoot 玩转 AOP
相信大家对AOP都不陌生,AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。先简单了解一下AOP的基本概念:Aspect(切面):通常是一个类,里面可以定义切入点和通知JointPoint(连接点):程序执行过程中明确的点,一般是方法的调用Advice(通知):AOP在特定...
2019-03-06 11:23:24
150
转载 代码安全之CSRF
CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存在CSRF漏洞...
2019-02-22 11:03:05
287
转载 代码安全之XSS攻击及防御
XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。XSS攻击XSS攻击类似于SQL注入...
2019-02-22 10:59:52
1036
转载 代码安全之MyBatis如何防止SQL注入
SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者SQL注入,大家都不陌生,是一种常见的攻击方式。攻击者在界面的表单信息或URL上输入一些奇怪的SQL片段(例如“or ‘1’=’1’”这样的语句),有可能入侵参数检验不足的应用程序。所以,在我们的应用中需要做一些工作,来防备这样的攻击方式。在一些安全性要求很高的应用中(...
2019-02-22 10:25:50
718
原创 微信公众号模板消息跳转小程序等微信第三方接口
现在很多地方都可能用到微信的一些第三方接口,有时候按照官网的参数格式去传参都会出错,或者失败…,其解决方案就是:注:**注:**注意: 我们一般情况下起名都是驼峰命名:但是----看清楚,微信的不是驼峰命名,你必须得按人家的格式走,一个大写字母可能就会导致第三方接口对接失败,在这个时候,就暂时忘记驼峰命名吧…...
2019-02-22 09:15:38
1147
原创 springBoot打war包后,启动时导入外部配置文件
之前一直都是将配置文件等全部打成一个包使用,后来因为维护啥的都比较困难,所以将配置文件移出来,从外界去依赖:首先就是在项目的 configuration文件夹中添加一个类: LocalSettingsEnvironmentPostProcessor( configuration:用于存储各种SpringBoot的配置文件)package com.altynai.xxxxxx.configur...
2019-02-16 14:42:58
1437
转载 Docker:Spring Boot应用发布到Docker
准备需要的工具以及运行环境:JDK 1.8 or laterMaven 3.0 +你喜欢的IDE或其他文本编辑器创建工程首先,你需要创建一个Spring Boot工程,Spring Tool Suite和IntelliJ IDEA都自带插件可以创建,还有一种方式是从http://start.spring.io/上创建,推荐使用这种方式。填好表单中的Group Id和Artifact I...
2019-01-22 12:01:13
177
转载 Spring Boot 使用AOP统一处理Web请求日志
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是Spring框架中的一个重要内容,它通过对既有程序定义一个切入点,然后在其前后切入不同的执行内容,比如常见的有:打开数据库连接/关闭数据库连接、打开事务/关闭事务、记录日志等。基于AOP不会破坏原来程序逻辑,因此它可以很好的对业务逻辑的各...
2019-01-18 13:51:58
132
原创 Spring Boot 使用NoSQL数据库 Redis
Spring Boot中除了对常用的关系型数据库提供了优秀的自动化支持之外,对于很多NoSQL数据库一样提供了自动化配置的支持,包括:Redis, MongoDB, Elasticsearch, Solr和Cassandra。使用RedisRedis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。Redis官网Redis中文社区引入...
2019-01-18 11:52:05
176
原创 Spring Boot 两种多数据源配置:JdbcTemplate、Spring-data-jpa
Spring Boot的配置非常简单,只需要在application.properties文件中配置连接参数即可。但是往往随着业务量发展,我们通常会进行数据库拆分或是引入其他数据库,从而我们需要配置多个数据源,下面基于之前的JdbcTemplate和Spring-data-jpa例子分别介绍两种多数据源的配置方式。多数据源配置创建一个Spring配置类,定义两个DataSource用来读取 a...
2019-01-18 11:39:18
475
原创 Spring Boot 使用Swagger2构建RESTful API
由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。这样一来,我们的RESTful API就有可能要面对多个开发人员或多个开发团队:IOS开发、Android...
2019-01-18 11:17:01
141
转载 微信扫码支付,模式二,功能实现
二、环境需求&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;开通微信服务号需要下面的信息:appidappsecret商业号 商户平台配置API&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;需要相关的jar包:jdom-1.1.3.jar (xm
2019-01-07 11:42:47
559
转载 java获取web文件的相对路径
在JAVA文件中获取该项目的相对路径1.基本概念的理解 绝对路径:绝对路径就是你主页上的文件的完整URL或文件目录在硬盘上的真正的路径,它主要包括完整URL和物理路径两种类型。例如:C:\xyz\test.txt 代表了test.txt文件在本地硬盘的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。相对路径:相对与某个基准目录的路径。包含W...
2019-01-02 20:05:59
3102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人