Spring与SpringMVC源码解析
文章平均质量分 90
本专栏主要讲解Spring和SpringMVC的实现原理。
Spring是最流行的Java框架之一。本专栏文章主要包括IOC的实现原理分析,AOP的实现原理分析,事务的实现源码分析等。关注微信公众号【Java技术江湖】后回复”Java“即可领取 Java基础、进阶、项目等学习资料
Java技术江湖
在下程序员黄小斜,前阿里Java工程师,4年码龄。 专注分享Java技术干货文,偶尔也吹水吐槽聊人生。
展开
-
Spring面试题汇总4:关于Spring事务的面试题
数据库事务和 Spring 事务是一般面试都会被提到,很多朋友写惯了代码,很少花时间去整理归纳这些东西,结果本来会的东西,居然吞吞吐吐答不上来。下面是我收集到一些关于Spring事务的问题,希望能帮助大家过关。事务是逻辑处理原子性的保证手段,通过使用事务控制,可以极大的避免出现逻辑处理失败导致的脏数据等问题。事务最重要的两个特性:事务的传播级别:定义了事务在 传播 方面的控制范围。数据的隔离级别:定义了事务在 数据库读写 方面的控制范围。事务的7种传播级别:1) PROPAGATION_REQ转载 2021-05-08 11:06:12 · 2342 阅读 · 0 评论 -
Spring面试题汇总3:SpringBoot面试题及答案整理
SpringBoot面试题及答案整理1、什么是 Spring Boot?多年来,随着新功能的增加,spring 变得越来越复杂。访问spring官网页面,我们就会看到可以在我们的应用程序中使用的所有 Spring 项目的不同功能。如果必须启动一个新的 Spring 项目,我们必须添加构建路径或添加 Maven 依赖关系,配置应用程序服务器,添加 spring 配置。因此,开始一个新的 spring 项目需要很多努力,因为我们现在必须从头开始做所有事情。Spring Boot 是解决这个问题的方法转载 2021-05-08 10:55:53 · 1098 阅读 · 0 评论 -
Spring面试题汇总2:SpringMVC常见面试题
SpringMVC 面试题什么是Spring MVC ?简单介绍下你对springMVC的理解?Spring MVC是一个基于MVC架构的用来简化web应用程序开发的应用开发框架,它是Spring的一个模块,无需中间整合层来整合 ,它和Struts2一样都属于表现层的框架。在web模型中,MVC是一种很流行的框架,通过把Model,View,Controller分离,把较为复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。SpringMVC的流程?(1)转载 2021-05-08 10:38:31 · 422 阅读 · 0 评论 -
Spring面试题汇总1:史上最全Spring面试题
目录1、不同版本的 Spring Framework 有哪些主要功能? 2、什么是 Spring Framework? 3、列举 Spring Framework 的优点。 4、Spring Framework 有哪些不同的功能? 5、Spring Framework 中有多少个模块,它们分别是什么? 6、什么是 Spring 配置文件? 7、Spring 应用程序有哪些不同组件? 8、使用 Spring 有哪些方式? 9、什么是 Spring IOC 容器? 10、什么是依赖注入?转载 2021-05-08 10:10:09 · 1588 阅读 · 0 评论 -
Java Web技术总结
Java Web技术与Spring源码总结这篇总结主要是基于我之前两个系列的文章而来。主要是把重要的知识点用自己的话说了一遍,可能会有一些错误,还望见谅和指点。谢谢更多详细内容可以查看我的专栏文章:JavaWeb技术世界https://blog.csdn.net/column/details/21850.htmlSpring与SpringMVC源码解析https...原创 2018-06-29 18:09:36 · 11834 阅读 · 0 评论 -
SpringMVC源码分析6:SpringMVC的视图解析原理
SpringMVC视图机制详解[附带源码分析]目录前言重要接口和类介绍源码分析编码自定义的ViewResolver总结参考资料前言SpringMVC是目前主流的Web MVC框架之一。 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html本文将分析SpringMVC的视图...转载 2017-09-22 17:43:06 · 1632 阅读 · 0 评论 -
SpringMVC源码剖析5:消息转换器HttpMessageConverter与@ResponseBody注解
SpringMVC关于json、xml自动转换的原理研究[附带源码分析]目录前言 现象 源码分析 实例讲解 关于配置 总结 参考资料前言SpringMVC是目前主流的Web MVC框架之一。如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduc...转载 2017-09-26 17:23:35 · 1342 阅读 · 1 评论 -
SpringMVC源码分析4:DispatcherServlet如何找到正确的Controller
前言SpringMVC是目前主流的Web MVC框架之一。如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html我们使用浏览器通过地址 http://ip:port/contextPath/path进行访问,SpringMVC是如何得知用户到底是访问哪个...转载 2017-07-20 19:55:58 · 2197 阅读 · 0 评论 -
SpringMVC源码分析3:DispatcherServlet的初始化与请求转发
一:初始化流程详解转自:https://my.oschina.net/lichhao/blog/102315在我们第一次学Servlet编程,学java web的时候,还没有那么多框架。我们开发一个简单的功能要做的事情很简单,就是继承HttpServlet,根据需要重写一下doGet,doPost方法,跳转到我们定义好的jsp页面。Servlet类编写完之后在web.xml里注册...转载 2017-07-24 10:02:43 · 1882 阅读 · 0 评论 -
SpringMVC源码分析2:SpringMVC设计理念与DispatcherServlet
转自:https://my.oschina.net/lichhao/blogSpringMVC作为Struts2之后异军突起的一个表现层框架,正越来越流行,相信javaee的开发者们就算没使用过SpringMVC,也应该对其略有耳闻。我试图通过对SpringMVC的设计思想和源码实现的剖析,从抽象意义上的设计层面和实现意义上的代码层面两个方面,逐一揭开SpringM...转载 2017-07-24 11:14:21 · 1273 阅读 · 0 评论 -
SpringMVC源码分析1:SpringMVC概述
第一章 Web MVC简介 —— 跟开涛学SpringMVC转自:跟开涛学SpringMVCwebmvcjavaeespring跟开涛学SpringMVCWeb MVC简介1.1、Web开发中的请求-响应模型:在Web世界里,具体步骤如下:1、 Web浏览器(如IE)发起请求,如访问http://sishuok.com2、 Web服务器(如To...转载 2017-07-24 11:58:33 · 2025 阅读 · 0 评论 -
Spring源码剖析2:Spring IOC容器的加载过程
一:spring ioc 容器的加载流程1.目标:熟练使用spring,并分析其源码,了解其中的思想。这篇主要介绍spring ioc 容器的加载2.前提条件:会使用debug3.源码分析方法:Intellj idea debug 模式下源码追溯通过ClassPathXmlApplicationContext 进行xml 件的读取,从每个堆栈中读取程序的运行信息4.注意:由于Sprin...转载 2017-05-24 21:31:09 · 1982 阅读 · 0 评论 -
Spring源码剖析1:初探Spring IOC核心流程
本文大致地介绍了IOC容器的初始化过程,只列出了比较重要的过程和代码,可以从中看出IOC容器执行的大致流程。接下来的文章会更加深入剖析Bean容器如何解析xml,注册和初始化bean,以及如何获取bean实例等详细的过程。转自:http://www.importnew.com/19243.html1. 初始化大致单步跟了下Spring IOC的初始化过...转载 2017-05-24 23:13:28 · 2320 阅读 · 0 评论 -
Spring源码剖析开篇:Spring概述
在讲源码之前,先让我们回顾一下一下Spring的基本概念,当然,在看源码之前你需要使用过spring或者spirngmvc。1.1.1 Spring是什么Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。应用程序是由一组相互协作的对象组成。而在传统应用程序开发中,一个完整的...原创 2017-06-11 15:33:42 · 4003 阅读 · 0 评论 -
Spring源码剖析9:Spring事务源码剖析
转自http://www.linkedkeeper.com/detail/blog.action?bid=1048Spring AOP是我们日常开发中经常使用的工具,常被用来做统一的日志、异常处理、监控等功能,使用方法在此不多赘述,有兴趣的读者可以自行去网上查阅资料进行学习,我们以注解的使用方式为例,分析其相关源码,其他方式大同小异。开启Spring AOP注解方式首先要配...转载 2017-08-11 16:32:52 · 1112 阅读 · 0 评论 -
Spring源码剖析8:Spring事务概述
原文出处:张开涛9.1 数据库事务概述事务首先是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做,这就是事务。事务必需满足ACID(原子性、一致性、隔离性和持久性)特性,缺一不可:原子性(Atomicity):即事务是不可分割的最小工作单元,事务内的操作要么全做,要么全不做; 一致性(Consistency):在事务执行前数据库...转载 2017-08-14 15:48:21 · 1174 阅读 · 0 评论 -
Spring源码剖析7:AOP实现原理详解
前言前面写了六篇文章详细地分析了Spring Bean加载流程,这部分完了之后就要进入一个比较困难的部分了,就是AOP的实现原理分析。为了探究AOP实现原理,首先定义几个类,一个Dao接口:1234public interface Dao { public void select(); public void insert();}Dao接口的实现类DaoImpl:12345678910...转载 2017-08-14 16:58:25 · 1398 阅读 · 0 评论 -
Spring源码剖析6:Spring AOP概述
我们为什么要使用 AOP原文出处:五月的仓颉前言一年半前写了一篇文章Spring3:AOP,是当时学习如何使用Spring AOP的时候写的,比较基础。这篇文章最后的推荐以及回复认为我写的对大家有帮助的评论有很多,但是现在从我个人的角度来看,这篇文章写得并不好,甚至可以说是没有太多实质性的内容,因此这些推荐和评论让我觉得受之有愧。基于以上原因,更新一篇文章,从最基础的原始代...原创 2017-08-14 17:11:00 · 2862 阅读 · 1 评论 -
Spring源码剖析5:JDK和cglib动态代理原理详解
AOP的基础是Java动态代理,了解和使用两种动态代理能让我们更好地理解AOP,在讲解AOP之前,让我们先来看看Java动态代理的使用方式以及底层实现原理。转自https://www.jianshu.com/u/668d0795a95b本文是基于jdk1.8来对动态代理的底层机制进行探究的Java中代理的实现一般分为三种:JDK静态代理、JDK动态代理以及CGLIB...转载 2017-08-15 15:48:23 · 3142 阅读 · 1 评论 -
Spring源码剖析4:其余方式获取Bean的过程分析
原型Bean加载过程之前的文章,分析了非懒加载的单例Bean整个加载过程,除了非懒加载的单例Bean之外,Spring中还有一种Bean就是原型(Prototype)的Bean,看一下定义方式:1 <?xml version="1.0" encoding="UTF-8"?>2 <beans xmlns="http://www.springframework.o...转载 2017-08-16 11:26:02 · 1113 阅读 · 0 评论 -
Spring源码剖析3:懒加载的单例Bean获取过程分析
【Spring源码分析】Bean加载流程概览转自:http://www.cnblogs.com/xrq730代码入口之前写文章都会啰啰嗦嗦一大堆再开始,进入【Spring源码分析】这个板块就直接切入正题了。很多朋友可能想看Spring源码,但是不知道应当如何入手去看,这个可以理解:Java开发者通常从事的都是Java Web的工作,对于程序员来说,一个Web项目用到Spring,只...转载 2017-08-21 14:50:26 · 3855 阅读 · 0 评论 -
Java工程师修炼之路(从小白到BAT的两年学习历程)
前言在下本是跨专业渣考研的985渣硕一枚,经历研究生两年的学习积累,有幸于2019秋季招聘中拿到几个公司的研发岗offer,包括百度,阿里,腾讯,今日头条,网易,华为等。一路走来也遇到很多困难,也踩了很多坑,同时我自己也探索了很多的学习方法,总结了很多心得体会,并且,我对校园招聘也做了一些研究和相应的准备。在今年的秋季招聘结束以后,我也决定把这些东西全部都写成文字,做成专题,以便...原创 2017-03-08 19:32:08 · 35562 阅读 · 6 评论 -
Java秋招面经大合集
阿里面经阿里中间件研发面经蚂蚁金服研发面经岗位是研发工程师,直接找蚂蚁金服的大佬进行内推。我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer。然后我也参加了蚂蚁金服中间件部门的面试,经历了三次面试,但是没有走流程,所以面试中止了。最后我走的是蚂蚁金服财富事业群的流程,经历了四次面试,包括一次交叉面,最终拿到了蚂蚁金服的意向书,评级为A。...原创 2017-04-21 10:02:04 · 21927 阅读 · 2 评论 -
如何准备校招技术面试
如何准备校招技术面试标签 : 面试写的真的很不错。借鉴并学习!如何准备校招技术面试 写在前面 我的面试经历 如何看待校招面试 技术面试考核的技术范围 如何提升自己的技术内功 如何有针对性地做面试准备 面试技巧 一线互联网公司的校招面试流程 一些建议 2017 年互联网校招已近尾声,作为一个非 CS 专业的应届生,零 ACM...转载 2018-03-13 23:29:58 · 2914 阅读 · 0 评论 -
颈椎病防治指南
程序员颈椎保护指南我们程序员天天对着电脑,眼睛,颈椎等等,都会落下不少的职业病。来说说怎么治疗自己的颈椎病。一、颈椎病是怎么产生的形成颈椎病的核心原因是:不良生活习惯我们身体的绝大部分疾病都是来自不良的生活习惯,生活习惯不改,再厉害的治疗也只能是缓解,无法根除。影响形成颈椎病的生活习惯有那些呢?1、不良坐姿习惯:天天长时间弯腰低头看文件看电脑,颈椎不出问题才怪,...原创 2017-04-09 21:06:10 · 2714 阅读 · 0 评论