
Spring
文章平均质量分 81
一白丁
道阻且长,行则将至
展开
-
NamedParameterJdbcTemplate的返回结果maxRows设置
NamedParameterJdbcTemplate的返回结果maxRows设置背景返回结果数量设置NamedParameterJdbcTemplate 和JdbcTemplate的差异背景笔者在data api开发工作中需要对返回结果数量限制,本想偷个懒度娘一下,结果发现尽是关于NamedParameterJdbcTemplate使用的介绍,对于限制结果返回只字不提。返回结果数量设置在执行查询前加上这一行代码就可以了,读者都知道JdbcTemplate是有setMaxRows的方法,而NamedP原创 2021-04-06 12:12:42 · 1187 阅读 · 0 评论 -
SpringBoot原理及源码剖析
SpringBoot原理及源码剖析前言基础介绍核心思想springboot 的优点起步依赖自动配置源码剖析依赖管理spring-boot-starter-parentspring-boot-starter-web自动配置@SpringBootConfiguration注解@EnableAutoConfiguration注解@ComponentScan注解启动流程查看SpringApplication的实例化查看run方法总结前言现在spring boot已成为主流的开发框架之一,相信不少读者项目都已使用原创 2021-01-04 21:14:09 · 1649 阅读 · 0 评论 -
Spring源码解析:(八)事务管理
事务管理前言spring的事务传播级别Spring中事务的API事务的源码实现@EnableTransactionManagementAutoProxyRegistrar总结前言本节主要讲讲Sring的事务管理方面,关于事务管理相信大多读者也都有了解和使用,关于数据库方面的事务管理本节就不再叙述,读者可以看本人的mysql方面的文章浅谈Mysql事务spring的事务传播级别事务往往在service层进行控制,如果出现service层方法A调用了另外一个service层方法B,A和B方法本身都已经原创 2021-01-04 17:16:15 · 132 阅读 · 0 评论 -
Spring源码解析:(七)AOP的实现
AOP的实现前言正文代理对象的生成时机后话前言上文中介绍了aop的思想和aop的使用及相关信息,本文将深入spring 中aop的源码实现。正文代理对象的生成时机读者如果研读过ioc的源码后,应该了解到在aop的代理对象生成并不是在具体使用bean的时候调用getbean去生成,而是在ioc的bean初始化时候就已经完成。所以我们需要去定位到ioc中去寻求aop在什么时候进行代理的。首先先访问AbstractAutowireCapableBeanFactory#initializeBean(ja原创 2021-01-04 14:45:27 · 133 阅读 · 0 评论 -
Spring源码解析:(六)AOP的初入
AOP的初入前言正文aop的思想aop的相关术语Spring中AOP的代理选择Spring中AOP的配置方式和实现后话前言之前介绍了spring的ioc的整个启动流程,接下来研究下spring的另一个核心模块AOP。正文aop的思想第一节曾简单介绍过aop的思想和优点,本文再回顾一下aop的使用场景。上图描述的就是未采用AOP思想设计的程序,当我们红色框中圈定的方法时,会带来大量的重复劳动。程序中充斥着大量的重复代码,使我们程序的独立性很差。而下图中是采用了AOP思想设计的程序,它把红框部分原创 2021-01-04 11:03:05 · 113 阅读 · 0 评论 -
Spring 源码剖析(一) Spring的介绍
Spring 源码剖析(一) Spring的介绍第一章 Spring的介绍文章目录Spring 源码剖析(一) Spring的介绍前言一、Spring是什么?Spring的优点Spring的核心架构二、Spring的核心思想1.IOCioc 的介绍ioc解决的问题IoC和DI的区别2.AOPAOP的介绍AOP解决的问题AOP为什么叫做⾯向切⾯编程总结前言本系列将介绍spring的源码,着重介绍IOC和AOP两款一、Spring是什么?Spring 是分层的 full-stack(全栈原创 2020-08-27 17:41:43 · 285 阅读 · 0 评论 -
Spring 源码解析:(五)IOC-Spring bean 的初始化过程(四)
解析单例中获取bean以及解决循环依赖前言正文后话前言前文中解析Spring的preInstantiateSingletons 大体流程,接下来详细展开从单例池中获取bean正文直接追getSingleton /** * Return the (raw) singleton object registered under the given name. * <p>Ch...原创 2020-03-17 17:54:13 · 294 阅读 · 0 评论 -
Spring 源码解析:(四)IOC-Spring bean 的初始化过程(三)
解析Context 中refresh()方法前言正文后话前言前文中解析refresh中invokeBeanFactoryPostProcessors(beanFactory);方法, 这个方法对BeanFactory进行增强,允许用户参与BeanFactory中,对beanDefinition的定义。正文接下来,继续看代码。 // Register bean processors tha...原创 2020-03-17 15:47:04 · 144 阅读 · 0 评论 -
Spring 源码解析:(四)IOC-Spring bean 的初始化过程(二)
解析Context 中refresh()方法前言正文后话前言前文中解析Spring启动时注册的beanDefinition意义,这次讲其中核心的refresh()方法中的部分内容。正文首先,先概览一下refresh() 方法。public void refresh() throws BeansException, IllegalStateException { synchronize...原创 2020-03-16 21:04:46 · 333 阅读 · 0 评论 -
Spring 源码解析:(三)IOC-Spring bean 的初始化过程(一)
Spring的启动过程前言正文后话前言前文中已构建好源码阅读环境,也成功搭建一个demo项目,这次就开始探究Spring启动过程。正文启动程序打上断点后,debug运行程序 # debug AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigAppli...原创 2020-03-16 15:18:19 · 153 阅读 · 0 评论 -
Spring源码解析:(二)源码阅读环境搭建
源码阅读环境搭建前言准备工具安装gradle 和配置环境变量下载spring 源码下载aspectj-1.9.4-src.jaridea项目搭建demo项目的尾言前言作为一个java程序员,必不可少的与Spring打交道,笔者经常看一些相关博客、视频系列,但学而不思,纸上谈兵让笔者对Spring的了解只是表面层次,所以纸上得来终觉浅,绝知此事要躬行。准备工具gradle 6.0以下版本(...原创 2020-03-14 11:23:17 · 580 阅读 · 1 评论