源码解读
文章平均质量分 90
笨笨小孩945
年轻的时候稀里糊涂的过还是挺可惜的,想努力了什么时候也不晚!
展开
-
Spring源码解析--spring事务实现
我们在spring boot环境下查看事务的原理,spring boot的核心是自动化配置,我们找到事务的自动化配置类: 该类的路径是: 默认情况下:org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration这个类是事务的自动化配置类。 这个类为我们配置了事务相关的类,在这个类之前要首先配置一个自动化配置类 org.springframework.boot.autoconfigure.jdbc.Data原创 2020-10-31 17:42:14 · 254 阅读 · 0 评论 -
Spring中条件注解@Conditional的使用
通过@Conditional注解可以根据代码中设置的条件装载不同的bean,在设置条件注解之前,先要把装载的bean类去实现Condition接口,然后对该实现接口的类设置是否装载的条件,下面通过代码演示。演示之前先说下,示例先创建一个接口,然后创建两个实现该接口的类,通过条件注解去实现在容器中到底装载哪个实现类,即在spring容器中装载那个bean。 1、创建服务接口 在该示例接口中,创建一个...原创 2019-10-29 11:43:57 · 454 阅读 · 0 评论 -
Eureka启动过程分析
pom文件中添加spring-cloud-starter-netflix-eureka-server依赖,springboot启动类上加上@EnableEurekaServer注解,运行启动类之后我们就有了一个Eureka注册中心。中间是怎么运行的呢?让我们从@EnableEurekaServer注解开始一探究竟。 这个注解为我们注册了一个空的springbean marker,其他的什么也...原创 2019-10-29 10:13:43 · 431 阅读 · 0 评论 -
mybatis源码解析--mapper代理对象的生成过程
我们平常在使用mybatis的时候只需要生成mapper接口和与其对应的xml文件就行了,我们就可以把这个接口当作一个bean,可以往其他的bean中注入了。我们没有实现mapper接口,为什么可以使用接口中的方法呢?原因是虽然我们没有实现接口,但是通过配置文件,spring为我们生成了接口的代理类。 让我们从配置文件入手,从源码中一探究竟。 MapperScannerConfigurer这个类...原创 2018-10-12 15:42:15 · 5456 阅读 · 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 · 5222 阅读 · 4 评论 -
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 · 185 阅读 · 0 评论 -
从源码看 spring boot 启动过程
spring boot 基于javaconfig配置,同时为我们提供了自动化配置,使我们开发spring应用变的十分的方便,以下是一个spring boot启动示例: 运行该java类,我们的spring boot应用程序就会启动起来。该类的核心是@SpringBootApplication注解和SpringApplication.run()方法。 首先我们来看一下@SpringBootAppl...原创 2018-12-17 17:42:21 · 179 阅读 · 0 评论 -
spring源码解析--包扫描产生bean定义的过程
一般web.xml中都有这样的配置 就是说我们都会配置一个ContextLoaderListener类型的监听器,它通过指定的位置加载spring配置文件来创建spring容器,来看一下这个类的结构: 我们要关注的是contextInitialized这个方法,tomcat等sevlet容器会调用该方法来启动我们的项目 this.context = createWebApplication...原创 2019-01-07 16:45:57 · 826 阅读 · 0 评论 -
SpringMVC---通过源码解析DispatcherServlet
首先看一下web.xml中DispatcherServlet的配置 创建Servlet的对象必定要调用初始化方法 init(), 我们就从init()方法开始开源码 查看DispatcherServlet的源码并没有init()方法,看一下继承关系 DispatcherServlet继承自FrameworkServlet, FrameworkServlet又继承自HttpServletBean,...原创 2019-01-31 14:26:48 · 149 阅读 · 0 评论