自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 proguard+springboot+maven插件 代码混淆

一 背景 Java web项目部署到服务器上以后,尤其针对是在客户的服务器上部署,很容易被“友商”捞到相关的包,通过反编译的手段,我们的代码几乎等同于裸奔在不可控制的服务器上,产品的设计细节都被一览无余,所以针对给厂商做的服务,我们做一些代码的混淆是很有必要的。二 步骤2.1 导入maven插件通过maven插件的办法的好处就是,在编译过程中混淆代码,尽量避免了给业务上带来的影响。这里混淆代码如下,实际混淆过程中要根据实际业务调整 ...

2021-12-11 18:28:30 7627

原创 Springmvc核心 HandlerExecutionChain执行链的初始化&创建&在整个调用过程的意义

今天来讲核心的内容在Springmvc,DispatcherServlet#doDispatch 是请求的核心方法,在这个方法下,Object[] args = this.getMethodArgumentValues(request, mavContainer, providedArgs);是入参赋值的核心入口全类名如下:org.springframework.web.method.support.InvocableHandlerMethod#invokeForRequestInvocab

2021-03-07 11:20:17 7926 6

原创 Springboot 接口单元测试 拦截器 登录 以及构建返回对象

Springboot 接口单元测试 返回构建跳过拦截器的方式拦截器中包含登录方式构建MockBean返回对象结论上一篇写到了使用@MockBean为Springboot 单元测试接口,可以看这一篇Springboot Restful风格 接口单元测试_Mock在正常情况下问题会解决,但是会碰到如下的情况如果有拦截器怎么办拦截器有登录方式怎么解决在增删改中,如果某个结果被标注为@MockBean的类返回为空,影响后续的流程如何解决下面我们就根据之前的结论,完成后续的内容!跳过拦截器的方式

2021-03-03 17:43:03 9681 2

原创 JSON转换的3种方式Gson&Json-lib&Fastjson

JSON转换的3种方式Gson1.添加依赖2.转化方法Json-lib1.添加依赖2.转化方法Fastjson1.添加依赖2.转化方法Gson1.添加依赖 <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.2.4</ver

2021-03-02 19:25:35 469

原创 windows下xshell配置端口转发

windows下xshell配置端口转发打开xshell,配置远端主机的信息,这里一般指的是可以外网访问或者连接的机器打开xshell->SSH -> 隧道-> 配置转移规则为Local(Outgoing)配置源主机为本机,侦听端口为本地要访问的端口;配置远端主机的地址,这里的地址是在公网中无法访问的地址,是真正提供服务的机器,以及它的端口。配置完成后,通过xshell连接服务器后,可以使用 配置如下访问远端的服务源主机:目标端口如果本机上有curl命令,也可

2021-03-02 19:06:43 1483

原创 Springboot MockMvc 单元测试 参数传值问题

Springboot MockMvc 单元测试 参数传值问题在使用MockMvc单元测试对接口进行测试时,可能会遇到你在测试中传入的值,无法被映射到对应的属性的问题,本节就讨论一下如何解决这样的问题其他关于接口测试的内容可以参考之前的文章:Springboot Restful风格 接口单元测试_Mockget请求get请求参数很简单,只需要加入到param参数中,或者使用get请求将参数“?param=xxx” 拼接到url后面, MvcResult mvcResult = mockMvc.

2021-03-02 15:51:13 9572

原创 数据库连接 驱动&连接池方式

文章目录手写 通过驱动直连数据库手写 通过连接池连接数据库我们平时利用持久化架构就完全足够我们使用数据库了,可是就和学习MVC前要先学javaweb一样,我们可以学会利用驱动或者连接池方式去操纵库,这样既可以提升我们对驱动和连接池的认识,也可以更好的帮助理清 驱动、连接池、持久化框架之间的关系。当然这只是其中一节内容手写 通过驱动直连数据库JDBC数据库访问底层逻辑(桥接模式)public static Connection getConnection() throws Exception {

2021-03-02 13:46:25 6242

原创 JDBC数据库访问底层逻辑(桥接模式)

概述大部分情况下,我们只需要在配置文件中配置数据库的连接,包括url、username、password等基本连接信息,还可以配置数据库连接池大小、最小连接数、超时时间等信息。之后就能连接到数据库进行一系列的操作了。底层是如何做到的并不关心,本节主要是帮助我们了解在我们的代码和数据库之间的一小部分内容。JDBC和数据库先解释桥接模式:假使A是接口, SubA()是实现,类的属性赋值使用多态的方式//伪代码class Bridge{ private A a = null; setA

2021-03-01 20:29:24 6529

原创 SpringMVC的工作原理(创建篇)

概述目前 Spring、Springboot 、 Springmvc 算是传统互联网非常常见的技术,Springmvc 重要性向来不如前两个,但是也不影响我们应该更完善的了解Springmvc到底是什么。毕竟一个传统的马工,调试接口天经地义,我们都听过面试造航母,工作拧螺丝。接口就是我们平常工作最锃光瓦亮的那一颗螺丝,如果能理解Springmvc,相信你的工作完成起来能更加快速高效 ,这样就能腾出更多的时间学别的~实现在Spring的具体实现上,子容器和父容器都是通过ServletContext的se

2021-02-27 19:29:06 161

原创 ApplicationContextAware底层原理详解

为什么要看ApplicationContextAware呢?其实ApplicationContextAware只是Spring众多内容中的一小部分,如果只看它,其实对于你了解Spring整体的益处不算很大。对于大多数人而言,只要学会如何使用就足够了。那为什么还要看呢? 不得局部慢慢消化吗,所以先来个相对简单的。ApplicationContextAware使用方式去实现ApplicationContextAware接口,实现接口setApplicationContext 可以设置静态属性,这样我们就拿

2021-02-26 15:03:24 6939

原创 HashMap详解

概述我们可以看的JDK源码有很多,最被人熟知的当然就包括HashMap了,我当初学的时候什么都不懂,就只有印象那就是很麻烦,麻烦到在网上随便搜罗点文章,总结,就算是我会了。所以我就认认真真花费了1天的时间对我们最最熟悉不过的HashMap做了一点点整理,希望能帮助到我彻底解决掉梦魇。HashMap 详解属性默认初始化容量 16默认的加载因子 0.75fentrySet Entry的节点加载因子容量的最大值 1<<30链表树化的数组长度:长度64modCount 由于Ha

2021-02-25 19:51:09 6114 4

原创 Springboot Restful风格 接口单元测试_Mock

概述在传统的Springboot项目中,当你按照接口文档写完API后,会手写测试用例对接口进行测试,包括接口是否是连通的,边界值等, 这是我们在完成任务时对代码质量的保证。而在线上部署时,要求我们在部署前去做接口的最后一次测试,以便于在maven/gradle build项目时,能够安全通过最后一道关卡。顺带一提,我们自己使用的是CI/CD 去构建项目的。步骤请确定你自己的版本 , 这很重要,不同版本的实现细节有区别 <groupId>org.springframework.boot

2021-02-25 17:40:02 6630 3

原创 minio-prometheus-grafana实现minio服务器的监控

概述目前监控方案比较流行的技术是使用prometheus和grafana,两者配合使用效果更佳。使用minio-prometheus-grafana监控minio,minio用作上传服务器,通过可视化界面监控minio多个维度的特征,包括集群状态,磁盘使用率,数据传输等指标。配合grafana的报警功能,可以达到预警的作用。其实上述方法不够轻量级,有更好的替代的方式,至少在监控指标上,运维童鞋完全可以做到以上效果,比如使用zabbix等。所以此解决方案,只是为了提供解决相关问题的思路,不止针对mini

2021-02-25 14:01:01 9134

空空如也

空空如也

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

TA关注的人

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