自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Spring源码解析--spring事务实现

我们在spring boot环境下查看事务的原理,spring boot的核心是自动化配置,我们找到事务的自动化配置类:该类的路径是:默认情况下:org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration这个类是事务的自动化配置类。这个类为我们配置了事务相关的类,在这个类之前要首先配置一个自动化配置类org.springframework.boot.autoconfigure.jdbc.Data

2020-10-31 17:42:14 233

原创 Spring中条件注解@Conditional的使用

通过@Conditional注解可以根据代码中设置的条件装载不同的bean,在设置条件注解之前,先要把装载的bean类去实现Condition接口,然后对该实现接口的类设置是否装载的条件,下面通过代码演示。演示之前先说下,示例先创建一个接口,然后创建两个实现该接口的类,通过条件注解去实现在容器中到底装载哪个实现类,即在spring容器中装载那个bean。1、创建服务接口在该示例接口中,创建一个...

2019-10-29 11:43:57 445

原创 Eureka启动过程分析

pom文件中添加spring-cloud-starter-netflix-eureka-server依赖,springboot启动类上加上@EnableEurekaServer注解,运行启动类之后我们就有了一个Eureka注册中心。中间是怎么运行的呢?让我们从@EnableEurekaServer注解开始一探究竟。这个注解为我们注册了一个空的springbean marker,其他的什么也...

2019-10-29 10:13:43 420

原创 SpringMVC---通过源码解析DispatcherServlet

首先看一下web.xml中DispatcherServlet的配置创建Servlet的对象必定要调用初始化方法 init(), 我们就从init()方法开始开源码查看DispatcherServlet的源码并没有init()方法,看一下继承关系DispatcherServlet继承自FrameworkServlet, FrameworkServlet又继承自HttpServletBean,...

2019-01-31 14:26:48 135

原创 spring源码解析--包扫描产生bean定义的过程

一般web.xml中都有这样的配置就是说我们都会配置一个ContextLoaderListener类型的监听器,它通过指定的位置加载spring配置文件来创建spring容器,来看一下这个类的结构:我们要关注的是contextInitialized这个方法,tomcat等sevlet容器会调用该方法来启动我们的项目this.context = createWebApplication...

2019-01-07 16:45:57 792

原创 从源码看 spring boot 启动过程

spring boot 基于javaconfig配置,同时为我们提供了自动化配置,使我们开发spring应用变的十分的方便,以下是一个spring boot启动示例:运行该java类,我们的spring boot应用程序就会启动起来。该类的核心是@SpringBootApplication注解和SpringApplication.run()方法。首先我们来看一下@SpringBootAppl...

2018-12-17 17:42:21 144

原创 AOP的大致原理

每一个这样的URL都表示一个命名空间,都有一个NamespaceHandler与之相对应。http://www.springframework.org/schema/aop=org.springframework.aop.config.AopNamespaceHandler当配置文件解析 <aop:aspectj-autoproxy /> 标签时,会找到aop对应的处理器AopN...

2018-10-23 14:53:10 154

原创 mybatis源码解析--mapper代理对象的生成过程

我们平常在使用mybatis的时候只需要生成mapper接口和与其对应的xml文件就行了,我们就可以把这个接口当作一个bean,可以往其他的bean中注入了。我们没有实现mapper接口,为什么可以使用接口中的方法呢?原因是虽然我们没有实现接口,但是通过配置文件,spring为我们生成了接口的代理类。让我们从配置文件入手,从源码中一探究竟。MapperScannerConfigurer这个类...

2018-10-12 15:42:15 5388 1

原创 tomcat源码解析---web项目在tomcat中的启动过程分析

java程序的入口应该是main()函数,可是基于xml配置开发的web项目,我们从来没有写过main()函数,只需要把开发好的war包上传到服务器,启动服务器,web项目就跟着启动运行了,这是为什么?服务器都做了哪些事情?下面我们通过跟踪调试tomcat源码,分析一下web项目的启动过程。源码下载地址:http://mirrors.hust.edu.cn/apache/tomcat/tomc...

2018-10-10 19:11:40 5111 4

空空如也

空空如也

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

TA关注的人

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