自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜 头笔记

Java从入门到放弃

  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 小白mybatis源码看这一遍就够了(5)| 与springboot整合以及@Mapper原理

mybatis源码分析系列:mybatis源码看这一遍就够了(1)| 前言 mybatis源码看这一遍就够了(2)| getMapper mybatis源码看一遍就够了(3)| Configuration及解析配置文件 mybatis源码看一遍就够了(4)| SqlSession.select调用分析 通过前面几章对mybatis的源码分析,相信大家对mybatis的流程原理也有了...

2020-04-23 21:02:35 984

原创 小白mybatis源码看这一遍就够了(4)| SqlSession.select调用到jdbc分析

前面我们还遗留了个问题是sqlSession.selectList这一步究竟做了啥,这和jdbc又有什么关系?我们这一章来讲一讲这个sqlSession.selectList他和jdbc究竟是什么不正当关系,是不是真有一腿我们拿第一章的mybatis例子来分析List<User> users = sqlSession.selectList("com.cwh.test.da...

2020-04-23 21:02:04 1156

原创 小白mybatis源码看这一遍就够了(3)| Configuration及解析配置文件

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader("configuration.xml"));这么短短的一句一句话究竟做了哪些不为人知的事,我们点进SqlSessionFactoryBuilder.build()方法:首...

2020-04-23 21:01:49 817

原创 小白mybatis源码看这一遍就够了(1)| 前言

前言这一章主要是为后面分析源码做铺垫,也好回忆下,这篇章将从操作jdbc到操作mybatis的简单demo入手。在分析mybatis源码前,我们首先先来回忆下jdk提供的sql操作步骤和mybatis的入门例子准备数据表和数据:CREATE TABLE `user` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `age` int(11)...

2020-04-23 21:01:02 673

原创 小白mybatis源码看这一遍就够了(2)| getMapper与sqlSession.selectList区别

上一章我们后面留下了一个问题就是getMapper获取的UserDao操作和直接sqlSession.selectList的区别?下面我们就从这里展开mybatis源码的面纱UserDao mapper = sqlSession.getMapper(UserDao.class);这句操作究竟做了些什么?首先第一步DefaultSqlSession.getMapper:这...

2020-04-23 21:00:42 1992

原创 简单直接让你也读懂springmvc源码分析(4)-- ViewResolver

到该章,也就是视图解析器,这里是dispatcherServlet的最后一步调用,就是从HandlerAdapter拿回来的ModelView放入视图解析器ViewResolver进行视图的解析,然后响应给用户浏览器。我们这里选用freeMarker来做demo,那么下面也将是以FreeMarkerViewResolver的视图解析器来分析。在分析前我们先来看看freeMarker的运用...

2020-04-15 19:51:27 423

原创 简单直接让你也读懂springmvc源码分析(3.1)-- HandlerMethodReturnValueHandler

该接口的调用请参考springmvc源码分析(3)-- HandlerAdapter本章只分析该接口的一些用法和常用实现类该接口有两个方法public interface HandlerMethodReturnValueHandler { /** * Whether the given {@linkplain MethodParameter method return typ...

2020-04-15 19:51:00 286

原创 简单直接让你也读懂springmvc源码分析(3)-- HandlerAdapter

我们还是像上一章那样springmvc源码分析(2)-- HandlerMapping,直接从springboot的WebMvcAutoConfiguration这里开始:这里把RequestMappingHandlerAdapter交由spring管理,我们看看RequestMappingHandlerAdapter的类继承关系:它实现了一个InitializingBean...

2020-04-15 19:50:45 255

原创 简单直接让你也读懂springmvc源码分析(2)-- HandlerMapping

关于springboot整合springmvc的源码分析可以参考以下系列文章:springboot整合springmvc源码分析(1)--前言 springboot整合springmvc源码分析(2)--承上启下 springboot整合springmvc源码分析(3)--直击内容我们这系列文章主要来分析的是关于springmvc的源码为了方便debug我们这里创建一个spring...

2020-04-15 19:50:10 265

原创 简单直接让你也读懂springmvc源码分析(1)-- DispatcherServlet

DispatcherServlet干什么用的?我们从源码注释中可以得知:用于HTTP请求处理程序/控制器的中央调度器,例如用于web UI控制器或基于HTTP的远程服务导出器。发送到注册处理程序进行处理web请求,提供方便的映射和异常处理工具。DispatcherServlet说实在的他就是一个Servlet,将其注册到tomcat的Servlet容器里,然后接受到请求进入到ser...

2020-04-15 19:49:38 533 5

原创 springmvc实用篇 -- WebMvcConfigurer

WebMvcConfigurer这个接口干什么用,文字上的描述我就不再说了,我们直接从功能入手就知道这玩意能帮我们做些什么事首先我们打开这个接口所定义的那些方法public interface WebMvcConfigurer { default void configurePathMatch(PathMatchConfigurer configurer) {} default vo...

2020-04-13 21:10:19 2570

原创 springmvc实用篇 -- @ControllerAdvice

@ControllerAdvice该注解我相信大多数人都熟悉,顾名思义,这是一个增强的 Controller。使用这个可以实现三个方面的功能:1).全局异常捕捉处理:@ExceptionHandler2).全局数据绑定:@ModelAttribute3).全局数据预处理:@InitBinder下面我们来展示下该注解的魅力一、全局异常捕捉处理:@ExceptionHandler...

2020-04-12 22:09:22 382

原创 springboot整合springmvc源码分析(3)--直击内容

springboot整合springmvc源码分析(1)--前言 springboot整合springmvc源码分析(2)--承上启下通过第一章的猜想和第二章的否认,我们这章直接来分析springboot整合springmvc核心源码由之前的揭密springboot自动装配(2)--AutoConfigurationImportSelector系列文章中,我们已经大概知道spring...

2020-04-11 15:18:39 1012

原创 springboot整合springmvc源码分析(2)--承上启下

根据上章留下的猜想,我们开始对其进行源码分析,一探究竟<modelVersion>4.0.0</modelVersion> <packaging>pom</packaging> <parent> <groupId>org.springframework.boot</groupId>...

2020-04-11 15:18:31 432

原创 springboot整合springmvc源码分析(1)--前言

springboot是怎么做到内嵌tomcat,而不需要去部署项目到tomcat的,在分析springboot整合springmvc前,我们先来说说一点关于tomcat的东西,我们这里不需要下载tomcat服务,只需要new 一个tomcat 即可,下面我们来一个例子看看org.apache.tomcat.embed:tomcat-embed-core:9.0.31public cla...

2020-04-11 15:18:19 1017

原创 spring bean生命周期(包含spring常用接口的载入)

spring bean生命周期流程图:其中包含了很多常用的接口,可以参考spring 常用接口;下面写个例子证明下:1.实现InitializingBeanpublic class UserB implements InitializingBean { private String name; private int age; private Us...

2020-04-10 09:05:39 169

原创 spring 比较常用且很好用的接口

在spring文档中有一批继承Aware接口,而Aware的作用是:A marker superinterface indicating that a bean is eligible to be notified by the Spring container of a particular framework object through a callback-style method....

2020-04-10 09:05:16 811

原创 spring Aop(3)--源码解析

前面AbstractAutowireCapableBeanFactory.createBean()这个方法ioc之前已经说过,下面是部分熟悉代码try { // Give BeanPostProcessors a chance to return a proxy instead of the target bean instance. Object bean...

2020-04-09 08:56:08 246 1

原创 spring Aop(2)--cglib代理

在分析springAop前,我们需要先了解下cglib代理这个知识点,之所以这么说是因为springAop的底层实现就是采用cglib动态代理这种方式,所以有必要在这里说一下,废话不多说,直接上例子1.创建需要被代理的类,我们直接采用上一章的UserA类public class UserA { private String name; private int age;...

2020-04-09 08:55:51 177

原创 spring Aop(1)--注解使用

二话不说直接开始上例子1.定义UserA类,也就是业务类2.创建Aspect@Aspect@Componentpublic class UserAspects { @Pointcut("execution(* com.example.demo.service.*.*(..))") public void userAspects(){} @Befor...

2020-04-09 08:55:39 195

原创 揭密springboot自动装配(5)--ioc及@Autowired注解

@Autowired 注解的bean什么时候实例化给它?我们直接从AbstractAutowireCapableBeanFactory.doCreateBean开始,这个方法从上一章内容可得知是创建实例化对象然后放入三级缓存的singletonFactories里面,我们接着这个方法继续深究protected Object doCreateBean(final String bean...

2020-04-08 14:15:21 694 1

原创 揭密springboot自动装配(4)--ioc及创建beanFactory

根据上一章的提问:bean注册到beanDefinitionMap之后什么时候进行实例化?什么时候放进beanFactory?我们回到继续回到AbstractApplicationContext.refresh这里@Override public void refresh() throws BeansException, IllegalStateException { ...

2020-04-08 14:15:09 917

原创 揭密springboot自动装配(3)--ioc及调用selectImposts

接着上一章的提问,何处调用了这个selectImposts方法?我们从这个启动类的SpringApplication.run方法跟进去public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); stopWatch.start();...

2020-04-08 14:14:59 1652

原创 揭密springboot自动装配(2)--AutoConfigurationImportSelector

我们从启动类里的@SpringBootApplication注解开始里面有三个主要注解@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan这里自动装配的主要注解是@EnableAutoConfiguration这个,我们跟进去看看会发现这里面有引入我们上章提到的神秘东东AutoConfigurati...

2020-04-08 14:14:22 2021 10

原创 揭密springboot自动装配(1)--ImportSelector

揭密springboot自动装配,在讲这个之前,我们先来个例子热热身首先我们先来了解下ImportSelector这个接口的应用,ImportSelector接口是spring中导入外部配置的核心接口,在SpringBoot的自动化配置和@EnableXXX(功能性注解)都有它的存在,具体怎么用下面走个例子看看1.实现下ImportSelectorpublic class Use...

2020-04-08 14:13:59 2656 2

activeMQ+spring整合

基于meven构建,activeMQ+spring整合,里面也包括了mybaits在里面

2017-11-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除