Springboot中mybatis执行逻辑源码分析 在上一篇springboot整合mybatis源码分析已经讲了我们的Mapper接口,userMapper是通过MapperProxy实现的一个动态代理,所有调用userMapper的方法,最终都会代理到MapperProxy的invoke方法上,我们这次就来看看mybatis具体的执行流程.为了简单易懂,本次的示例用的是最简单的查询语句且不包含事务. 本篇文档的源码路径https://github.com/wbo112/blogdemo/t…
MyBatis 的 4 个基本构成: SqlSessionFactoryBuilder(构造器): 根据配置信息或者代码来生成 SqlSessionFactory(工厂接口) SqlSessionFactory: 依靠工厂来生成 SqlSession(会话),每个 MyBatis 的应用都是以 SqlSessionFactory 的实例为中心的.SqlSessionFactory 通过 SqlSessionFactoryBuilder 获得.MyBatis 提供了两个 SqlSessionFac…
1.架构与源码分析 :https://www.cnblogs.com/luoxn28/p/6417892.html .https://www.cnblogs.com/wangdaijun/p/5296830.html 2.执行器篇:https://blog.csdn.net/qingtian211/article/details/81838042 3.插件篇:https://www.cnblogs.com/xrq730/p/6984982.html 4.缓存篇:https://www.cnblo…
关于properties: 在spring框架中properties为Environment对象重要组成部分, springboot有如下几种种方式注入(优先级从高到低): 1.命令行 java -jar ***.jar --spring.profiles.active=test & 2.java系统参数 System.getProperties() 3.操作系统环境变量. 环境变量..不解释 4.从 java:comp/env 得到的 JNDI 属性. 不懂是啥,埋坑. 5.通过 Random…
SpringBoot中文注释项目Github地址: https://github.com/yuanmabiji/spring-boot-2.1.0.RELEASE 本篇接 SpringApplication对象是如何构建的? SpringBoot源码(八) 1 温故而知新 温故而知新,我们来简单回顾一下上篇的内容,上一篇我们分析了SpringApplication对象的构建过程及SpringBoot自己实现的一套SPI机制,现将关键步骤再浓缩总结下: SpringApplication对象的构造…
前言:入职新公司,SpringBoot和Mybatis都被封装了一次,光用而不知道原理实在受不了,于是开始恶补源码,由于刚开始比较浅,存属娱乐,大神勿喷. 就如网上的流传的SpringBoot与Mybatis整合两种方式 一.使用 pom文件使用:org.mybatis.spring.boot 依赖 坐标: <groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter&…
什么是Mybatis? Mybatis是一个半自动化的持久层框架. Mybatis可以将向PreparedStatement中的输入参数自动进行映射(输入映射),将结果集映射成Java对象(输出映射) 为什么使用Mybatis? JDBC: SQL夹杂在Java代码块中,耦合度高导致硬编码 维护不易且实际开发需求中SQL有变化,频繁修改的情况多见 Hibernate和JPA: 长难复杂SQL,对于Hibernate而言处理也不容易 内部自动生成的SQL,不容易做特殊优化 基于全映射的全自动框架,…
总体三部分,创建sessionfactory,创建session,执行sql获取结果 1,创建sessionfactory      这里其实主要做的事情就是将xml的所有配置信息转换成一个Configuration对象,然后用这个对象组装成factory返回. //mybatis配置文件 String resource = "conf.xml"; InputStream is = TestMybatis.class.getClassLoader().getResourceAsStre…
Spring Boot源码剖析 一.Spring Boot 项目的启动入口流程分析 Spring Boot项目的启动入口main线程上有一个@SpringBootApplication( @Configuration + @EnableAutoConfiguration + @ComponentScan )注解, 表明是主配置类, 让程序自动识别并进行必要的配置 项目启动后, 首先进行自动配置, 源码如下: ---在org.springframework.boot.autoconfigure 包…
前言: Spring4推出了@Conditional注解,方便程序根据当前环境或者容器情况来动态注入bean,对@Conditional注解不熟悉的朋友可移步至 Spring @Conditional注解 详细讲解及示例 这篇博客进行学习. 继@Conditional注解后,又基于此注解推出了很多派生注解,比如@ConditionalOnBean.@ConditionalOnMissingBean.@ConditionalOnExpression.@ConditionalOnClass.....…