10 石头StoneWang

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 5w+

关于Environment读取变量,Yaml类读取yml文件,yml中list的写法

测试yml文件的读取,以及Environment的apiEnvironment 是spring 自带的类,可用于读取变量的值、profileYaml(org.yaml.snakeyaml.Yaml) 也是spring框架自带的类,用来读取yml文件yml文件有些平时比较少用的写法# 这是最普通的写法abc: def: my_value# 可以压缩,写成abc.def: my_value# 对于特别长的,这种扁平的压缩的写法是非常清晰明了的,如果采用yml的层级写法,反而会非常乱o

2020-06-22 14:56:17

java jdbc通过SSH隧道连接数据库

java jdbc通过SSH隧道连接数据库例如要拦截数据库a,不能直接连,必须通过ecs连接(Navicat配置ssh连接相当简单,但是Java程序怎么弄呢?)实现步骤新建 springboot 或 maven项目(普通的java项目也可以,只是引入依赖没那么方便)pom.xml 中新增依赖<dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifac

2020-06-15 21:12:50

详细聊聊IDEA里拷贝文件名、包名、路径

研究 IDEA 的拷贝众所周知目前 IDEA 有取代 Eclipse 的趋势。虽然非常好用,但是也有很多的不足。本文探究了 IDEA 复制文件名的问题,看看哪些不方便之处。我们通常需要复制文件名全限定名(Full Qualified Name)路径如 Foo、Foo.java、com.wyf.Foo、com.wyf.Foo.java、D:\fooProject\src\main\java\com\wyf\Foo.java总结:IDEA在Navigator里可以复制上述信息,但是在其他场景

2020-06-09 14:46:37

【安装】安装单机mysql8或mysql5.7(CentOS7)(最简单的教程)

本文是在centos7上安装mysql5.7或mysql8,单节点步骤一、添加 MySQL yum 源本文使用root用户操作,在node1节点的虚拟机上安装可以采用yum localinstall命令来添加 MySQL 源。在 https://dev.mysql.com/downloads/repo/yum/ 页面选择合适 rpm 包,这些 rpm 包的作用就是添加 MySQL y...

2020-04-28 17:00:02

Centos7安装elastic 6.x(6.8.8)集群(亲测可行)

安装elastic集群注意:别选太高版本的es,比如7.6.2 就需要jdk11了,我们选一个jdk8可以支持的版本。本文选择6.8.8,貌似这已经是最后一个支持jdk8的了我们这里仅仅安装es,不考虑elk下载安装包下载链接一般要下载历史的版本,才能支持jdk8,官方会说明要求的jdk版本如何查找到历史的版本:官网下载页 找到 past release 下载历史的版本正...

2020-04-22 20:27:58

关于Spring中的BeanUtils的使用的细节和由此导致的巨坑

关于Spring中的BeanUtils的使用的细节和由此导致的巨坑前言本文研究关于spring带的BeanUtils的坑。即 BeanUtils.copyProperties 的使用注意点结论:名字要相同类型要相同(primitive type和对应包装类同)Source必须有getter,且必须publicTarget必须有setter,且必须publicSource中有st...

2020-04-22 15:29:45

研究kill 和 kill -9 的区别

研究kill 和 kill -9 的区别本项目有个接口/test,请求后该接口需要处理很久。在接口还未返回结果的时候,使用kill和kill -9杀掉进程会怎么样?用chrome请求/test,看到转圈,执行kill -9 进程ID,可以看到转圈立即停止。可以想象到kill -9是立即杀死进程,不会等待善后。用chrome请求/test,看到转圈,执行kill 进程ID,可以看到继续转圈,...

2020-03-30 15:37:18

关于actuator:搭建步骤,常用地endpoint

详细参考http://www.ityouknow.com/springboot/2018/02/06/spring-boot-actuator.html(非常完整、权威的资料)说明研究springboot的actuator步骤使用actuator的步骤(基于springboot 2.2.5.RELEASE 版本,如果比较老的版本,可能有些差异,比如在endpoint上我记得是直接访问/be...

2020-03-30 15:35:25

mvn package -DskipTests和mvn package Dmaven.test.skip有什么不同?

mvn package -DskipTests和mvn package Dmaven.test.skip有什么不同?-DskipTests 仅跳过测试,但是不跳过测试代码的编译-Dmaven.test.skip 跳过测试,跳过编译测试代码(src/test/java里有编译错误可以顺利打包,前者不行!)注意:打出来的包都是一样的,test的资源都不会在jar包里!从这两个代码的执行日志就...

2020-03-27 10:40:02

Parallels Desktop(PD)安装CentOS7过程遇到的一些问题

Parallels Desktop(PD)安装CentOS7过程遇到的一些问题PD安装CentOS7的步骤,参考:https://www.jianshu.com/p/423ba6e48aaa为什么安装的过程没有询问 “要安装basic还是mini版,还是带有图形界面的版本”?我也不知道(也不是下载的ISO的问题)安装过程不用太介意所分配的磁盘容量,并不会一开始就占这么大...

2020-03-25 19:45:34

springboot项目如何打包给其他项目引用

背景springboot项目要怎么打包,才能被其他项目GAV引入? 打成springboot的可运行jar是不行的,要用maven插件打包。例子springboot项目被 mvn install 打包并安装到本地maven仓库后,被另外一个springboot项目引入,引入后发现JAR包存在却无法import JAR包中的类的问题。详细情况如下两个项目A(springboot)B(s...

2020-03-21 09:54:45

关于filter/springinterceptor/aop的加载顺序

背景关于filter/springinterceptor/aop的加载顺序。filter指继承javax.servlet.Filter的;springinterceptor是spring里的拦截器,实现HandlerInterceptor的;aop是指@Aspect注解的类这三种都可以拦截对controller方法进行拦截。那拦截顺序是怎么样的?结论顺序是分级的,filter/spring...

2020-03-21 09:27:20

两springboot项目宿主项目引入另一个项目(jar)的相关问题

有两个项目A、B,都是springboot项目,A项目打包后被B引用(B通过maven坐标引用A)配置B项目为启动时,将A中的controller、aspect、filter、springinterceptor等初始化(就是启动类@ComponentScan增加jar包里的类的路径)当访问 /user/test 时(属于本项目),会不会被 aspect、filter、springinterce...

2020-03-20 16:37:36

springcloud+swagger微服务环境下实现文档管理

springcloud+swagger微服务环境下实现文档管理需求springcloud是多个模块的,怎么用Swagger管理接口呢?比如我的微服务有以下模块eurekagateway(zuul)user-serviceorder-service其中user和order模块需要暴露swagger文档,那方案一:通过网关聚合成一个文档,通过分组来切换不同模块...

2020-03-15 14:32:37

springboot整合Swagger2,实现对接口的版本管理

springboot整合Swagger2,实现对接口的版本管理需求测试同学有需求,对于接口,之前的版本是1.0,现在是1.1版本,我想要知道1.1新增了什么接口,或者说修改了什么接口,怎么办?细化需求我们用分组来实现,分组在代码里就是 Docket,如图我们希望有一个默认的分组,所有的接口都放在这里,并且是排在最前面的被标记的接口能归类到 v2.7.3里一个接口可以同时被归类到多...

2020-03-14 16:11:50

springboot+Swagger2最佳实践和使用规范

springboot整合Swagger2,swagger使用最佳实践和使用规范1. 前言本文讨论swagger的使用,以及一些最佳实践。认真看完,你会有收获的本文的swagger版本是:2.9.2(不同版本UI界面可能不同)swagger2和1,因为2的版本可能对比1升级比较大,所以叫2,其实还是swagger2. 使用手册2.1 准备先准备基础的知识。传参一般使用两种方式键...

2020-03-13 16:37:11

IDEA 2019 debug 技巧

IDEA 2019 debug 技巧一、debug初识先看下IDEA 2019 里的 debug 界面1、Debugger:debug的面板,查看各类东西2、Console:控制台,查看日志3、Show Execution Point:单击后跳到此次debug最后执行位置。方便你一顿操作后不知道现在执行到哪个点了。当然,点击Frames最顶那行,也能回到最后位置。4、Step Ove...

2020-03-12 13:46:39

单元测试相关:spring test、mockito、h2

单元测试相关:spring test、mockito、h2背景本文讨论单元测试,在单测中遇到的迷惑。单测中测一次就删除数据下次就没法再测怎么办,第三方的接口很不稳定我们要怎么测,整个业务规则这么多限制和要求怎么办? 你领导压缩工期没有足够单测的时间怎么办?关于mockito和h2相关的,后续再发文,敬请不要期待,later is never~啰嗦先总结一波目前单测遇到的问题,比较杂,想到...

2020-03-09 17:53:07

关于 @Conditional 注解

关于 @Conditional 注解背景在我们项目中,有时候需要实现这样的需求。我有个接口I,接口的实现类有A、B,我需要的效果是通过不同的配置,实例化具体某个实现类,即可以选择实例化A或B在spring中,有个注解 @Conditional 可以实现这个要求。我们先来最简单的例子11、例子1接口1个public interface PrinterService { Strin...

2020-03-03 20:30:28

关于System.currentTimeMillis()的理解

System.currentTimeMillis() 获取的是当前时刻距离 1970-1-1 00:00:00.000(0时区) 的毫秒数。注意1970年1月1日0时0分0秒0毫秒,这个时刻是0时区的。不是东八区的 1970-1-1 00:00:00.000表述上只是到达了0毫秒,但其实后续的值都是0,如 1970年1月1日0时0分0秒0毫秒0微秒0纳秒0皮秒0...正因为该方法是当前时刻...

2020-02-28 10:23:55

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。