- 博客(40)
- 资源 (3)
- 收藏
- 关注
原创 通过maven工程生成工程模板
1.生成模板工程代码: mvn archetype:create-from-project2.跳转到模板工程代码路径: cd ${projectPath}/target/generated-sources/archetype3.安装模板: mvn install4.查看生成的模板工程信息: ${REPOSITORY_HOME}/repository/archetype-catalog.xml的groupId和artifactId以及version便于下一步通过模板工程生成代码5.通过模板生成
2021-02-23 10:48:06 1136
转载 资源整理
1.java中的锁 不可不说的Java“锁”事(美团)2.线程池Java 源码解析 - ThreadPoolExecutor 线程池3.MySql索引MySQL索引原理及慢查询优化4.优化常见性能优化策略的总结5.java代码动态追踪Java动态追踪技术探究...
2020-06-12 14:41:24 454
原创 java远程DEBUG
1.首先启动jar包时增加 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000参数 启动示例:java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar .\demo.jar 2.在IDEA中增加...
2020-01-20 11:26:53 477
原创 第三方登录 ---Github
背景:最近一直在做第三方平台登录的相关工作,由于要接入这些平台需要涉及到各个平台的开发者账号的申请工作,而企业级的开发者账号申请就更麻烦了,但是github的开发者账号就很简单,所以当时就以Github作为示例了。整个第三方平台的开发流程图如下名词解释APP_ID 在第三方平台申请的APP标识 APP_SECRETE 在第三方平台申请的APP秘钥(注意保密) C......
2019-09-29 16:30:12 1303
转载 自定义Spring Boot Starter开发教程
1.前言随着Spring的日渐臃肿,为了简化配置、开箱即用、快速集成,Spring Boot 横空出世。目前已经成为 Java 目前最火热的框架了。平常我们用Spring Boot开发web应用。Spring mvc 默认使用tomcat servlet容器, 因为Spring mvc组件集成了spring-boot-starter-tomcat 。但是现在undertow servlet容器...
2019-08-20 10:03:37 261
原创 Maven使用工程文件中自带的第三方jar包完成打包
背景:由于项目中使用了大量的第三方自研工具类jar包,而这个jar包只有这个项目中在用,所以为了减少对其他工程的影响,所以就想直接用本工程lib目录下的jar进行打包,打包主要使用两个文件,pom.xml和assembly.xml文件, 接下来是详细的示例配置。pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0"...
2019-08-14 18:09:16 476
原创 企业微信机器人发送消息
背景:之前用钉钉机器人可以发送消息,可以将线上的告警通知发送到消息群中,后来企业微信也支持在群组中增加机器人了,钉钉和企业微信机器人的使用很相似,都是使用webhook的方式来进行实现的,话不多说,咱们先配置机器人,然后再上代码。1.在企业微信的聊天群中增加机器人注意:目前只能在聊天群中添加机器人,所以我当时的做法是,先拉一个同事进群,然后再让他退群,具体步骤如下......
2019-07-04 17:21:57 24872 4
转载 SpringBoot自动配置注解原理解析
SpringBoot自动配置注解原理解析1. SpringBoot启动主程序类:@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, arg...
2019-04-08 11:05:18 1135
原创 数据库事物并发有可能出现的问题
之前对数据库事物的很多知识都很零散,今天有时间整理整理这些知识。1.第一类丢失更新情况第一个事物更新某条记录,第二个事物也更新同一条记录,第一个事物正常提交了,但是第二个事物却回滚了,造成第一个事物更新失效举例我的银行账号有1000元,我某天去银行想给我的账号存500元,我女朋友也想给我的账号存100元我和我女朋友都是同时(并发事物)开始办理业务的,这时候我的500...
2019-03-22 16:53:20 289
原创 微服务消息传输过程中的一些问题
今天是周六,在公司加班完成一个基于微服务架构的项目,出现了一个很尴尬、很诡异的问题,在此记录该问题当用户登录时,用户微服务需要调用权限认证服务返回该用户拥有的所有角色名称,为了减少服务调用次数,所以权限认证服务的返回数据时 Map<Integer, List<String>> 即 Map<userid,List<rolename>>,但是问题出现...
2018-11-17 11:42:30 491
原创 使用Zuul + JWT + 白名单 实现权限控制
背景背景:最近由于项目需要使用微服务架构,并且随着需求的不断完善,权限管理这个问题被提了出来,并且在做权限管理时有很多限制条件,比如:要完成基于用户的操作权限管理,尽量不要影响现有的已经完成的微服务,新的微服务接入系统应该简单快速,这些都是制约条件。调研了目前很多的技术方案,基本上都是使用shrio或者SpringSecurity来实现的,但是个人觉得这些都不太适合,因为shiro和Spr...
2018-10-29 17:18:53 7959 5
转载 微服务网关netflix-zuul
微服务架构中整合网关、权限服务认证鉴权与API权限控制在微服务架构中的设计与实现(一)认证鉴权与API权限控制在微服务架构中的设计与实现(二)认证鉴权与API权限控制在微服务架构中的设计与实现(三)认证鉴权与API权限控制在微服务架构中的设计与实现(四)引言:本文主要讲下API网关的设计与实现。netflix-zuul是由netflix开源的API网关,在微服务架构下,网关作为...
2018-10-26 11:01:08 619
转载 微服务架构中整合网关、权限服务
微服务网关netflix-zuul认证鉴权与API权限控制在微服务架构中的设计与实现(一)认证鉴权与API权限控制在微服务架构中的设计与实现(二)认证鉴权与API权限控制在微服务架构中的设计与实现(三)认证鉴权与API权限控制在微服务架构中的设计与实现(四)前言:之前的文章有讲过微服务的权限系列和网关实现,都是孤立存在,本文将整合后端服务与网关、权限系统。安全权限部分的实现还讲...
2018-10-26 10:45:53 1346
转载 认证鉴权与API权限控制在微服务架构中的设计与实现(四)
微服务网关netflix-zuul微服务架构中整合网关、权限服务认证鉴权与API权限控制在微服务架构中的设计与实现(一)认证鉴权与API权限控制在微服务架构中的设计与实现(二)认证鉴权与API权限控制在微服务架构中的设计与实现(三) 引言: 本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的完结篇,前面三篇已经将认证鉴权与API权限控制的流程和主要细节讲解完...
2018-10-26 10:32:05 417
转载 认证鉴权与API权限控制在微服务架构中的设计与实现(三)
微服务网关netflix-zuul微服务架构中整合网关、权限服务认证鉴权与API权限控制在微服务架构中的设计与实现(一)认证鉴权与API权限控制在微服务架构中的设计与实现(二)认证鉴权与API权限控制在微服务架构中的设计与实现(四)引言: 本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的第三篇,本文重点讲解token以及API级别的鉴权。本文对涉及到的大部分代...
2018-10-26 10:26:09 347
转载 认证鉴权与API权限控制在微服务架构中的设计与实现(二)
微服务网关netflix-zuul微服务架构中整合网关、权限服务认证鉴权与API权限控制在微服务架构中的设计与实现(一)认证鉴权与API权限控制在微服务架构中的设计与实现(三)认证鉴权与API权限控制在微服务架构中的设计与实现(四) 引言: 本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的第二篇,本文重点讲解用户身份的认证与token发放的具体实现。本文篇...
2018-10-26 10:19:32 433
转载 认证鉴权与API权限控制在微服务架构中的设计与实现(一)
微服务网关netflix-zuul微服务架构中整合网关、权限服务认证鉴权与API权限控制在微服务架构中的设计与实现(二)认证鉴权与API权限控制在微服务架构中的设计与实现(三)认证鉴权与API权限控制在微服务架构中的设计与实现(四)引言: 本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的第一篇,本系列预计四篇文章讲解微服务下的认证鉴权与API权限控制的实现。...
2018-10-25 14:44:51 834
原创 java获取系统CPU、内存占用
说明:获取的数据是操作系统整体的资源占用情况,不是当前 java进程占用的资源1. 获取系统CPU占用情况 import java.lang.management.ManagementFactory;import com.sun.management.OperatingSystemMXBean;private static OperatingSystemMXBean osmxb =...
2018-10-19 09:57:57 8197 3
原创 Springboot开发常见问题总结
本文会持续不定时更新1.配置静态资源路径spring.resources.static-locations=classpath:/templates/,classpath:/static/特别注意:路径最后的"/"千万不能少了,否则该条配置就失效了。错误的路径:classpath:/templates正确的路径:classpath:/templates/2.返回的视图...
2018-09-20 16:39:54 1844
原创 Thymeleaf学习笔记
未完成,不定时更新 1.Thymeleaf的方言<span th:text="...."><span data-th-text="....">举例说明<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head>
2018-08-17 16:36:15 244
原创 IDEA快捷键
语句自动完成 , “!”,否定完成,输入表达式时按 “!”键 Ctrl+Shift + Enter打开最近的文件Ctrl+E打开最近更改的文件Ctrl+Shift+E可以关闭文件Shift+Click可以跑到大括号的开头与结尾Ctrl+[ OR ]可以显示当前文件的结构Ctrl+F12可以查询当前元素在当前文件中的引用,然后按 F3...
2018-08-16 09:32:35 197
原创 Docker常用命令
启动dockerservice docker start查看docker信息docker info查看docker中所有的容器docker ps -a恢复正在运行的容器docker attach 容器ID启动并以bash并进入容器docker attach -ai 容器ID查看所有的镜像docker images查看镜像/容器详情d...
2018-08-07 09:41:01 398
原创 Maven的学习笔记
目录Maven的作用常用的名词解释仓库坐标构建生命周期传递依赖 与 排除依赖依赖冲突聚合scope的分类快照 -SNAPSHOT常用命令Maven的作用 我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复...
2018-08-02 15:48:45 416
原创 Centos7安装Git
方法一: 使用yum直接安装yum install git安装完后可以使用git --version查看版本号这种方式安装起来很简单,但是git版本很低,基本都是1.8版本,git官方版本都是2.x 方法二:使用源码安装1、依赖库安装yum install curl-devel expat-devel gettext-devel openssl-devel zlib-d...
2018-08-02 10:32:17 173
原创 Git基础练习笔记
前置条件: 已经正确的安装完gitGIT常用命令配置全局的邮件地址 git config --global user.email "example@163.com"配置全局的用户名 git config --global user.name "you_username"1.新建项目并向远程仓库提交新建一个目录并初始化目录: mkdir de...
2018-08-01 14:45:44 340
转载 安装部署gitlab服务器以常见问题解决
GItlab的安装我这里使用的是centos 7 64bit,我试过centos 6也是可以的!1. 安装依赖软件yum -y install policycoreutils openssh-server openssh-clients postfix2.设置postfix开机自启,并启动,postfix支持gitlab发信功能systemctl enable postfi...
2018-07-31 15:44:04 5838
原创 Jenkins学习笔记
1 Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 ----摘自百度百科 下面说点我对于Jenkins的一些学习心得,如果有什么不对的地方,还请大家积极指出,多谢了哈。 Jenkins是什么? Jen...
2018-07-30 10:17:36 3593
原创 使用JSP进行转发时出现的路径问题
问题描述今天在公司测试使用一个新框架时出现了一个奇怪的问题,当在浏览器中直接访问jsp页面时一切正常,但是在servlet进行转发到这个页面时,框架的JS就无法正确执行了,但是使用重定向一切正常。当时困扰了好久,后来和同事一起排查才发现是由于servlet在进行转发时使用的上下文路径还是servlet路径,而不是jsp的路径,所以只要改下路径就行了。解决方案将相对路劲变为决定路径,如:...
2018-07-24 15:38:29 752
原创 在不同的时区想实现时钟同步
解决方案1:使用TimeZone 解决方案2:使用setProperty例:System.setProperty(“user.timezone”,”Asia/Shanghai”);
2018-07-10 17:49:13 891
原创 Window下查找指定的文件
Window下查找特定的文件在CMD窗口使用如下命令格式: for /r 目录名 %i in (匹配模式1,匹配模式2) do @echo %i示例: for /r C:/ %i in (*.txt,*.jpg) do @echo %i作用:查找C盘下的所以txt和jpg文件PS:匹配模式中如果不带*号,并不会精确匹配文件名,所以必须加*(可加到最后,不加*则会将所有的文件都打印...
2018-07-10 17:46:27 3074
原创 使用Jcap捕获数据包
使用JPcap可以发包,使用JnetPcap可以接收和过滤包。现在项目中遇到的问题总结如下。1. 环境搭建如果是在Window下则必须在path路径下存在JnetPcap.dll和Jpcap.dll文件,如果是在linux环境下,可以将JnetPcap.so和JnetPcap.so存放到/usr/lib目录下即可,但是最好的解决方案是讲将两个so文件存放到项目目录下,然后使用Sys...
2018-07-10 17:24:27 1616
原创 MySQL批量插入多条数据
Mysql在插入大量数据(十万级或者百万级别)时效率会变得很差,所以需要采用以下方法来提高其插入效率。a) 关闭自动提交 改为手动提交 , connect.setAutoCommit(false); 插入数据完后最后再con.commit();b) 拆分数据,多线程入库c) 一条插入语句插入多条数据insert into tableN...
2018-07-10 17:15:49 1958
原创 springboot编程式指定默认的application.properties文件路径
解决方案一:编程式指定 Properties defaultProperties = new Properties();InputStream in; try { in = new FileInputStream("E:/conf/application.properties"); defaultProperties.load(in); in.close();...
2018-07-05 18:15:24 4408
原创 使用Maven打包SpringBoot程序,出现主类清单无法找到的异常
前提约束1.必须是SpringBoot的项目2.项目中可以多个主类,但是不能存在多个@SpringBootApplication标识的类 否则maven打包时就懵了,不知道该选谁作为主类解决方案很简单,只要在pom.xml中加上一个打包插件配置就行 <build> <plugins> <plugin> <groupId>org....
2018-07-04 11:23:25 750
原创 关于SpringCloud的配置问题
注: 本文会持续更新在学习SpringCloud的过程中,碰到了很多坑,而有很多坑是因为配置而引起的,所以本文主要记录的就是在配置SpringCloud时遇到的坑原因总结1. 大部分由配置错误导致的程序运行异常,基本上都是由于对配置不熟,然后通复制配置文件产生的,以后还是要对每一行配置都做到心中有数,能不复制尽量就别复制了,太坑了eureka.client.fetch-regi...
2018-06-30 16:05:03 541
原创 使用Spring时出现无法自动装配的问题
问题描述 在使用Spring进行自动装配的时候(尤其是装配接口的时候),有时会出现装配失效的问题,使用@ComponentScan注解也无法完成 解决方案 修改包结构。 将SpringBootApplication放置到顶级根目录下,这样Spring容器就会默认加载出所有的Bean了, 至于为什么@ComponentScan无法完成自动装配的问题还有待解决,在此先记录下该问...
2018-06-29 14:24:55 5960
原创 JAVA_HOME路径配置无效的问题
问题描述由于开始公司业务要求只能使用JDK6,后来业务升级,要使用高版本的JDK进行开发,重新配置JAVA_HOME后发现执行java -version后还是显示的是JDK6,检查配置的路径没有问题,被这个问题困扰了很久解决方案删除 C:\Windows\System32路径下那几个java开头的exe文件,尤其是java.exe文件问题产生的原因在安装结束后安装程序会自动将java.exe、ja...
2018-06-25 17:02:35 4430
原创 SpringBoot + Zookeeper的服务注册与发现
1.SpringBoot与Zookeeper的通信问题 注意关闭zookeeper服务的防火墙 临时关闭systemctl stop firewalld 禁止开机启动systemctl disable firewalld2.包冲突问题 最常见的问题是slf4j与log4j的包冲突 解决方案:在zookeeper中去除对slf4...
2018-06-24 21:29:51 2602
原创 使用appassembler打包springboot项目时出现的主类无法找到问题
问题出现的原因:在pom.xml文件中使用parent的方式继承了springboot的模板 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <v...
2018-06-24 17:56:18 1775
原创 windows下关闭某个端口所处的进程
1. netstat -ano |findstr 端口号 得到进程号 (findstr 很像linux下的grep命令)2. taskkill /pid 进程号 /F3. netstat -ano |findstr 端口号 可以再验证下该端口还开着没整体流程如下...
2018-06-13 13:50:42 8581
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人