![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开源框架
文章平均质量分 90
咕咚0203
没有什么是一个涨停解决不了的事,如果有那就两个涨停……✌
展开
-
Spring Boot源码剖析
一、概述 Java程序员们对SpringBoot这个框架再熟悉不过了,它最大的特点就是自动配置、内嵌容器、可插拔式插件等等……这些特点使得Spring Boot能够做到快速开发,大大提高开发者的效率,今天这篇我来分享一下Spring Boot的启动流程。 二、Spring Boot核心注解 上篇我们自定义了一个spring-boot-starter,用大白话说这就是一个“自定义的可插拔式spring boot插件”,那么spring boot项目启动时是如何自动加载这些“可插拔式插件”的呢?接下来我.原创 2021-05-20 19:29:57 · 234 阅读 · 0 评论 -
自定义spring-boot-starter
一、概述 约定优于配置是一种软件设计范式,spring boot便是遵从这一范式设计的,它去除了spring框架带来的各种复杂的配置,利用自动装配功能为各种属性配置好默认值,开发者只需要关注私有配置便可以快速高效的搭建一个spring boot项目。 今天这篇我们简单的自定义一个spring-boot-starter项目,让大家感受下spring boot自动装配的强大。 二、项目构建 首先我们应当创建一个项目,项目的命名方式一般为xxx-spring-boot-starter,该命名表示此项目并非原创 2021-05-11 14:52:13 · 258 阅读 · 1 评论 -
MyBatis源码剖析
一、概述 MyBatis之所以受到众多开发者的青睐,源于其使用方便、简单的特点。这篇我们从源码的角度来剖析下MyBatis的实现原理。 二、源码剖析 我们用上篇简单的案例,通过debug模式来探究下Mybatis的底层实现,首先先观察下测试类,如下图 简单解析下:该方法第26行通过我们输入的sqlMapConfig.xml来获取了一个InputStream对象,接着用这个InputStream对象通过SqlSessionFactoryBuilder来创建一个SqlSessionFactory对象原创 2021-04-07 08:57:00 · 134 阅读 · 2 评论 -
MyBatis基础及经典面试题
一、概述 MyBatis是一款优秀的开源持久层框架,支持定制SQL,存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和结果集映射的封装,大大解放了生产力,今天我们来看它的简单实现以及常见的面试题。 二、基础回顾 首先我们来回顾一下MyBatis的基本用法,创建工程,引入坐标,如下图 添加jdbc.properties配置文件,输入数据库的连接信息,添加sqlMapConfig.xml,该配置文件用来添加MyBatis的别名映射包、数据库、以及mapper映射文件等信息,如下图原创 2021-03-29 09:20:57 · 189 阅读 · 1 评论 -
Spring MVC源码剖析二(深度剖析)
一、概述 前面我们分析了Spring MVC执行的核心思想,其核心在DispatcherServlet这个类的doDispatch方法中,上一篇我们解析了doDispatch方法的功能和作用,这一篇我们来解析一下doDispatch方法里面的几个核心方法。 二、方法详解 首先我们分析下Handler和HandlerAdapter是如何获取的 我们debug模式进入getHandler方法里面,如下图,我们可以观察到有三个Handler备选,程序会遍历三个Handler找出合适的Handler,最原创 2021-03-03 17:22:14 · 86 阅读 · 2 评论 -
Spring MVC源码剖析一(优势及核心思想)
一、概述 MVC全称为Model View Controller,是一种用于创建Web应用程序表现层的设计模式。今天我们从源码的角度介绍一下Spring MVC。 二、项目构建 和之前介绍Spring框架一样,我们要了解Spring MVC的运行原理需要先搭建一个简单的项目,通过项目来加深自己对该框架的理解。下面我们搭建一个简单的Spring MVC项目,如下图(代码存放在码云上,链接:https://gitee.com/GPF1217/java-from-xiaobai-to-architect.g原创 2021-02-18 09:15:08 · 109 阅读 · 1 评论 -
Spring Aop源码剖析
一、概述 前面两篇文章讲述了Spring框架中Bean的生成,其实这便是Spring IOC的核心了,Spring将创建好的Bean放入ConcurrentHashMap中,每次调用的时候去里面取出相关的实例,然后进行调用,这样做的好处可以避免对象的频繁创建,使开发变得更加简洁。 Spring除了IOC这个特性以外,还有个大家所熟知的AOP功能,今天这篇文章就带大家来探究下Spring AOP的核心实现。 二、项目构建 在我们之前用来探究Bean创建过程的项目中,引入spring-aop等相关依赖。原创 2021-02-06 15:10:08 · 99 阅读 · 0 评论 -
Spring源码剖析二(Bean的创建)
一、概述 上一篇文章剖析了Spring的部分源码,简述了Spring的启动流程。总结一下该流程就是:tomcat容器在启动的时候会加载我们项目中的web.xml文件,根据该文件配置的listener标签,启动ContextLoaderListener(Spring启动引导类),在该引导类里面有一个contextInitialized方法,通过这个方法来初始化Spring的各种环境。其中主要讲述了BeanFactory的创建流程。 这一篇文章我们再继续跟踪一下Bean的创建流程。 二、代码跟踪 打开我原创 2021-01-31 14:39:32 · 78 阅读 · 0 评论 -
Spring源码剖析一(BeanFactory的创建)
一、概述 从事Java开发的朋友一定都知道Spring框架。为什么Spring框架能受到如此多开发者的青睐呢?这得益于Spring提供的诸多便捷实用的功能如:IOC、AOP,并且其可扩展性使得集成第三方开源框架和类库变得异常简单。我们可以访问一下Spring官网【http://spring.io】通过官网的描述去详细了解它,这里就不再过多赘述。本篇就让我们来通过Spring的源码来探究下Spring的启动原理。 二、构建Spring项目 学习一个框架的基本流程首先是学会使用它,然后在使用中一步一步的探原创 2021-01-26 16:32:53 · 187 阅读 · 4 评论