- 博客(92)
- 资源 (2)
- 收藏
- 关注
原创 mybatis获取插入后记录的主键
如果有如下情况,在插入数据库记录后,想得到插入记录的主键,用以后面的业务代码那么mybatis针对这种情况也提供了相应的支持(不支持批量插入):MySQL是原声自增ID;假设自增主键的字段名就为ID<insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="User">insert into <include refid="TABLE_NAME" /> ( NAME, AGE
2020-12-04 15:00:12
224
原创 Spring自动注入之Autowired与Resource
Spring中 @Autowired注解与@Resource注解的异同点。相同点:@Resource的作用相当于@Autowired,均可标注在字段或属性的setter方法上。不同点:1、提供方:@Autowired是由org.springframework.beans.factory.annotation.Autowired提供,换句话说就是由Spring提供;@Resource是由javax.annotation.Resource提供,即J2EE提供,需要JDK1.6及以上。2、 注
2020-11-17 20:33:40
399
原创 spring配置拦截器
spring配置拦截器实现WebMvcConfigurer 接口,重写 addInterceptors(InterceptorRegistry interceptorRegistry)方法,通过调用interceptorRegistry.addInterceptor(new HandlerInterceptorAdapter() ) 添加拦截器对象,通过addPathPatterns("/**")匹配拦截的路径。若不设置addPathPatterns,则当前拦截器匹配所有路径。@Configur.
2020-11-17 10:57:34
491
原创 ThreadLocal源码浅析
一. 简介简介来自ThreadLocal类注释ThreadLocal类提供了线程局部 (thread-local) 变量。这些变量与普通变量不同,每个线程都可以通过其 get 或 set方法来访问自己的独立初始化的变量副本。ThreadLocal 实例通常是类中的 private static 字段,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联。下面是类注释中给出的一个列子:以下类生成对每个线程唯一的局部标识符。 线程 ID 是在第一次调用 UniqueThreadId
2020-11-05 21:48:11
181
原创 idea 导入包不自动使用xxx.*
File -> setting -> Editor -> Code Style -> Java -> Imports1、Scheme里的选项Project :将当前设置应用于当前项目。Default :将当前设置应用于全局。2、Class count to use import with ‘’ : 99 (导入同一个包的类超过这个数值自动变为 * )3、Names count to use static import with '’:99(同上,但这是静态导入的)
2020-10-28 10:37:59
1286
原创 java类加载机制
java类加载机制面试中必问题之一,以前每次都只是有模糊印象,今天完整的整理一下。先来看一下整个java运行的流程及结构。再看一下类加载过程的流程图一、类加载过程1.加载加载指的是将类的class文件读入到内存,并为之创建一个java.lang.Class对象,也就是说,当程序中使用任何类时,系统都会为之建立一个java.lang.Class对象。类的加载由类加载器完成,类加载器通常由JVM提供,这些类加载器也是前面所有程序运行的基础,JVM提供的这些类加载器通常被称为系统类加载器。除此之外
2020-10-27 15:27:36
382
原创 Spring 编程式事务管理及源码浅析
Spring 对 事务管理 有编程式和声明式声明式事务管理用到了aop与代理. 通过代理方式来管理事务.编程式事务管理用到了模板设计模式和回调函数来管理事务. (而模板加回调是线程安全的) @Resource private TransactionTemplate transactionTemplate; public void testTransactionTemplate (){ //编程式事务,带有返回值 transactionTemplate.execute(ne
2020-10-22 22:20:21
291
原创 spring三级缓存解决循环依赖
spring 只能解决属性注入循环依赖,不能解决构造器注入循环依赖。解决核心是/** Cache of singleton objects: bean name --> bean instance */private final Map<String, Object> singletonObjects = new ConcurrentHashMap<String, Object>(256); /** Cache of singleton factories: bean
2020-10-21 19:28:59
170
原创 StringRedisTemplate与RedisTemplate遇坑
先说一下StringRedisTemplate与RedisTemplate区别1、 关系不同StringRedisTemplate继承RedisTemplate,指定了RedisTemplate<String,String> 泛型。这里延申另外一个问题,在spring中自动注入时当使用@AutoWired注解注入RedisTemplate 时要注意一下/** * 此写法,注入的实际上是StringRedisTemplate 的实例对象。 * 原因是根据类型匹配继承了指定泛型&
2020-10-20 22:53:57
853
原创 浅谈Bcrypt加密
原文链接 https://www.jianshu.com/p/2b131bfc2f10首先来看看各算法对比Bcrypt是单向Hash加密算法,类似Pbkdf2算法 不可反向破解生成明文。一、Bcrypt是怎么加密的?Bcrypt有四个变量:saltRounds: 正数,代表hash杂凑次数,数值越高越安全,默认10次。myPassword: 明文密码字符串。salt: 盐,一个128bits随机字符串,22字符myHash: 经过明文密码password和盐salt进行hash,个人的理解
2020-10-19 17:59:03
1834
原创 JWT基本使用
JWT的数据结构典型的,一个JWT看起来如下图。改对象为一个很长的字符串,字符之间通过"."分隔符分为三个子串。注意JWT对象为一个长字串,各字串之间也没有换行符,此处为了演示需要,我们特意分行并用不同颜色表示了。每一个子串表示了一个功能块,总共有以下三个部分:JWT的三个部分如下。JWT头、有效载荷和签名,将它们写成一行如下。我们将在下面介绍这三个部分。3.1 JWT头JWT头部分是一个描述JWT元数据的JSON对象,通常如下所示。{“alg”: “HS256”,“typ”: “JWT
2020-10-19 17:39:40
199
原创 java反射创建class对象和实例对象
//1.源头:获取Class对象,用三种方式 Phone iPhone=new Phone(); //1.1.对象.getClass();获取对象 Class<?> clazz1 = iPhone.getClass(); //1.2.类.class clazz1=Phone.class; //1.3.Class.forName("包名.类名"); clazz1 = Class.forName("test.Phone");//2.创建对象 //2.1通过ne.
2020-10-19 11:32:12
366
原创 springMVC启动过程
下面是一个SpringMVC应用的配置文件,需要注意两个地方,一个是ContextLoaderListener,一个是dispatcherServlet。web容器正是通过这两个配置才和spring管理起来。ContextLoaderListener与web容器的ServletContext关联,为Spring的IOC容器提供了一个宿主环境。在建立起IOC容器体系之后,把DispatcherServlet作为SpringMVC处理web请求的转发器建立起来,完成响应http请求的准备。SpringMVC启
2020-10-17 15:33:32
1464
1
原创 git通过命令行下载git仓库的某个分支
git clone -b branchname url命令格式如上,-b后面接分支名 branchname ,最后是git地址url。
2020-10-12 18:10:13
631
原创 git ssh与https之间切换
1、从ssh切换至httpsgit remote set-url origin(远程仓库名称) https://email/username/ProjectName.git2、从https切换至sshgit remote set-url origin git@email:username/ProjectName.git3、查看当前是ssh还是httpsgit remote -v
2020-10-09 15:45:11
295
原创 idea 重构
右键->Refactor1.rename 重命名2.Change Signature 修改签名3.Extract 提取Field 属性Constant 常量Method 方法Parameter 参数Surround 环绕快捷键重命名文件、方法、属性等(Rename):Shift+F6,同时被修改处在其他被调用的地方也会随之更改,修改文件名,如类名,右键当前类文件 -> Refactor -> Rename,便会看到快捷键提示 Shift+F6重构类、方法(Change
2020-10-09 13:55:57
434
原创 mysql8后正确修改初始密码方法
mysql5.7.9之后,就没有了password函数,所以,使用传统的password()函数修改root密码的话,就会提示sql错误UPDATE user SET authentication_string = password('123456') WHERE User='root';ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL se
2020-10-06 15:05:54
244
原创 java 生成 excel文件
java 生成 excel文件1.easyexcelhttps://www.yuque.com/easyexcel/doc/easyexcel2.hutoolhttps://hutool.cn/docs/#/poi/%E6%A6%82%E8%BF%B0
2020-10-04 21:55:30
871
原创 Fiddler抓包工具如何设置过滤域名
Fiddler手机抓包工具如何设置过滤域名?如题。Fiddler抓包可以完成我们移动开发者的调试测试需求。所以说抓包尤其重要,但是多余的网页请求和手机的其他链接影响我们手机开发的需求。下面我教大家怎么设置:1、打开fiddler,找到Filters选项并点击打开。如图所示2、打开后,我们选择启用。Use Filters 在这个选项上打勾。如图所示3、打开后我们可以看到下面的Host模式,我们选择Show the following Hosts。表示我们只在Fiddler上显示以下域名的数据请求。如
2020-09-30 11:20:46
1521
原创 linux使用ssh远程登录 与 退出
1、linux下用ssh登陆后bai退出主要有两个du命令,Logout和exit。首先使用工具登录一台zhilinux服务器,这里dao使用ssh登录:2、首先使用Logout命令尝试退出ssh,这里可以看到程序是直接退出的,并且会在屏幕上打印出Connection closed by foreign host:3、最后是使用exit命令尝试退出,这里的效果和用Logout命令退出是一样的,当然exit命令比较短,输入也相对方便一些。以上就是ssh退出登录的方法:...
2020-09-28 11:27:25
36865
原创 putty使用密钥登录并解决OpenSSH密钥与putty不兼容问题
使用OpenSSH私钥导入putty连接后不识别。然后百度一下,说OpenSSH私钥与Putty不兼容,需要使用PuttyGen将其转换为Putty的私钥类型。于是就用PuttyGen将我们的私钥转成它接受的ppk私钥格式。导入之后就能登录咯。下面时操作步骤找到putty安装目录,打开puttygen.exe 密钥生成器点击load ,选择需要转格式的私钥文件,会把私钥加载进来。在选文件时要把右下角的文件类型,选择所有,否则可能看不到你的私钥文件然后点击 save private key
2020-09-28 11:24:53
3328
原创 springboot接收日期字符串参数与返回日期字符串类型格式化
接口请求接收日期字符串方式一 全局注册自定义Formatter@Configurationpublic class WebConfig implements WebMvcConfigurer { @Override public void addFormatters(FormatterRegistry registry) { registry.addFormatter(new Formatter<Date>() { @Override
2020-09-27 14:56:39
2580
原创 解决chrome控制台查不到请求头的cookie
原文链接:https://blog.csdn.net/qq_36838406/article/details/101943872在做一个小项目的时候需要需要将token写如cookie中,然鹅,写完之后却没有在chrome浏览器的Response Headers中看到cookie,以为是代码写错,尝试其他的浏览器,发现可以查看到,于是断定是浏览器的某些设置问题。最终查到原来是Chrome67引入了一个新特性:site-isolation (站点隔离),也就是请求第三方站点数据时,如cookie等敏感信息会
2020-09-27 14:05:31
8434
1
原创 HashMap详解
关于初始值不指定默认值Map<String,String> m=new HashMap();看一下源码 /** * Constructs an empty <tt>HashMap</tt> with the default initial capacity * (16) and the default load factor (0.75). */ public HashMap() { this.loadFac
2020-09-23 15:39:20
112
原创 汉字转拼音之Jpinyin 简单使用
JPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进。【JPinyin主要特性】1、准确、完善的字库;Unicode编码从4E00-9FA5范围及3007(〇)的20903个汉字中,JPinyin能转换除46个异体字(异体字不存在标准拼音)之外的所有汉字;2、拼音转换速度快;经测试,转换Unicode编码从4E00-9FA5范围的20902个汉字,JPinyin耗时约100毫秒。3、多拼音格式输出支持;JPinyin支持多种拼音输出格式:带音标、不带音标
2020-09-23 00:25:55
454
原创 git Bash 中的复制粘贴
在标题处右键 Options->Keys 可以看到复制粘贴的快捷键。Ctrl+ins 复制Shift+ins 粘贴
2020-09-22 15:56:55
2372
原创 IDEA使用手册
原文链接大厂通用最全IDEA使用手册https://blog.csdn.net/chenlixiao007/article/details/106952976
2020-09-22 14:42:16
124
原创 解决IDEA打开新project项目时maven配置不默认最后修改的
1、 File->Other settings->Settings for new projets2、build,execution,deployment->build tools->maven,修改maven home和settings file,点apply 和 ok
2020-09-22 14:37:56
975
原创 二进制、八进制、十六进制字符串与整型数值间互相转换
1、int数值转二进制字符串,或16进制字符串 ,或8进制字符串//转二进制字符串 System.out.println(Integer.toBinaryString(16)); System.out.println(Integer.toUnsignedString(16,2));//无符号 System.out.println(Integer.toString(-16,2));//有符号 //转16进制字符串 System.
2020-09-21 18:22:04
385
原创 outlook邮件撤回失败
撤回邮件的必要条件1.发/收件双方必须du都zhi使用Exchange系统2.发/收件双方必须都使用Outlook查看邮件3.收件人的Outlook必须是dao打开着的,且没有查看这封邮件撤回报告没有收到或无法撤回的原因1.如果收件人的Outlook没有打开,也没有通过网页版或者手机邮箱查看此邮件,则发件人不会收到撤回反馈,在收件人打开Outlook的一瞬间,发件人会收到撤回失败的通知。2.如果收件人的Outlook没有打开,中间通过网页版邮件或者手机邮件查看了此邮件,发件人只会在收件人打开Ou
2020-09-21 14:39:36
14655
原创 String.format用法
原文连接:https://blog.csdn.net/anita9999/article/details/82346552
2020-09-21 11:34:49
84
原创 汉字转拼音之pinyin4j 简单使用
引入依赖<dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.0</version></dependency>package com.jsq.myspringboot.javaee;import net.sourceforge.pinyin4j.Pi
2020-09-21 00:05:39
2940
原创 idea 查看并设置快捷键
File->Settings->keymap可以进行按功能搜索例如搜索撤销功能快捷键也可按快捷键搜索,在光标移到下图搜索框里,按下键盘的Ctrl + Z ,
2020-09-20 23:50:39
1500
原创 idea 反编译工具
File->Setting->Plugins->Java Bytecode Decomplier如果没有,直接去下载安装即可,如下图我的是已经下载安装过了,所以没有搜索到。
2020-09-20 23:37:35
1232
原创 idea maven自动导入依赖jar包的源码
idea 中构建 maven自动导入依赖jar包的源码File->Setting->Build->Build Tools->Maven->importing勾选sources 和documentation
2020-09-20 23:30:03
1004
原创 maven常用命令
执行maven命令必须进入到pom.xml的目录中进行执行在这里插入图片描述进入到项目的pom.xml目录之后,就可以执行啦。 1、运行 mvn compile在这里插入图片描述在pom.xml配置的依赖的包已经导入到仓库了...
2020-09-20 21:42:34
117
1
原创 idea常用快捷键
以下是自己使用idea过程中常用的一些快捷键,持续添加中。快捷键功能Alt+Enter手动导入包Alt+Insertget,set,构造函数等Ctrl+Alt+v补全返回值Ctrl+Alt+b定位到实现类方法Ctrl + O重写父类方法Ctrl + L添加实现接口方法F2定位到问题代码处Ctrl+z / Ctrl+Y撤销一步操作 / 前进一步操作Alt + 光标移动按住alt ,移动鼠标光标同时操作多行。Ctr
2020-09-20 19:54:32
135
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅