![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java8
程序员老任
Coding my passion!
展开
-
使用Spring AOP实现简单的日志解耦
一、什么是AOP?AOP(Aspect Oriented Programming),即为面向切面编程,那什么是切面?如果你家里装了前置净水器的话,这个概念很好理解,就是在进水的地方,把水管切断,在进水之后入户之前装上净水器,实现了对进水的净化处理。从扩展性来讲,如果用户需要全屋水加热,那就在切面里串一个加热器就行能轻松实现,不用每个出水的地方都加热,这就是切面的现实应用实例。那到软件的世界...原创 2020-04-09 11:33:51 · 490 阅读 · 0 评论 -
Spring+MyBatis组合的几种实现方式(三)使用MyBatis-Spring-Boot-Starter
1、什么是MyBatis-Spring-Boot-Starter前面我们学习了原生MyBatis、MyBatis-Spring两种方式在你的项目中使用MyBatis的方式,可以发现原生MyBatis使用起来还是比较麻烦的,需要在代码中通过操作SqlSession、SqlSessionFactory两个类才能完成sql操作,在MyBatis-Spring中把SqlSession和SqlSessio...原创 2020-03-26 11:11:35 · 334 阅读 · 0 评论 -
Spring+MyBatis组合的几种实现方式(二)使用MyBatis-Spring
1、什么是MyBatis-Spring?MyBatis-Spring 可以帮助你将 MyBatis 无缝地整合到 Spring 中。允许 MyBatis 参与到 Spring 的事务管理之中,创建映射器 mapper 和 SqlSession 并注入到 bean 中,以及将 Mybatis 的异常转换为 Spring 的 DataAccessException。2、为什么会有MyBatis-S...原创 2020-03-25 19:26:59 · 243 阅读 · 0 评论 -
Spring+MyBatis组合的几种实现方式(一)使用原生Mybatis
Mybatis是一款优秀的ORM框架,但使用起来相对比较麻烦,不像Spring JPA(Hibernate),需要手动创建表、手动编写sql语句,这也正是Mybatis的优势之一,下面我们就以持久化一张用户表为例,介绍使用Mybatis的几种方式。一、原生Mybatis方式点击下载git源代码1、原理介绍所有Mybatis使用都依赖SqlSessionFactory实例,SqlSessio...原创 2020-03-24 19:16:15 · 416 阅读 · 0 评论 -
【问题驱动学习】-当你new一个对象的时候,JVM都做了什么?
构造器Java代码里面用new生成一个对象的时候,JVM会执行用来请求内存的 new 指令,以及用来调用构造器的 invokespecial 指令。通过使用javap命令查看生成的字节码,就能清晰的看到。// Foo foo = new Foo(); java代码 0 new Foo //申请内存 3 dup 4 invokespecial Foo() //调用构造器 7 a...原创 2020-03-13 12:01:58 · 145 阅读 · 0 评论 -
可能是最详细的HashMap(Java8)实现详解-原理+源码解析
1、预备知识hashhash又称散列或杂凑,一般音译为哈希,是指一种算法、函数或数据结构,可以根据key值直接映射为存储位置,为了方便理解,见下图:示例:假如key是一个数字,hash函数为取余,存储为数组key=100,hash为模10,经过hash后为0,即存储在数组的0号位置key也可以是字符串等,采用合适的hash函数,即可将key值散列到存储数组中链表红黑树红黑树是...原创 2020-03-09 16:11:31 · 588 阅读 · 0 评论