![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
文章平均质量分 69
xlecho
一个热爱网络技术的靓仔
展开
-
【Spring源码这样读】-细扒ApplicationContext之obtainFreshBeanFactory()
容器刷新前的准备做好了之后,接下来就是初始化beanFactory,加载并解析配置,当我们的ApplicationContext执行过obtainFreshBeanFactory之后,它就能拥有BeanFactory全部的功能obtainFreshBeanFactory()做了哪些事先来看看源码,点击进入该方法之后,可以看到就调用两个方法protected ConfigurableListableBeanFactory obtainFreshBeanFactory() { refreshBean.原创 2021-04-21 15:59:45 · 219 阅读 · 0 评论 -
【Spring源码这样读】-细扒ApplicationContext之prepareRefresh()
之前我们查看了初始化流程的super(parent)和setConfigLocations(configLocations),接下来我们进入最重要的环节refresh()方法,这个方法,才是我们spring初始化容器的最关键的方法。我们将一步一步细读,大佬略过。refresh()这个方法主要做了一下这几件事情:容器刷新前的准备初始化beanFactory,加载并解析配置设置beanFactory的属性BeanFactory创建完成后进行的后置处理工作执行BeanFactoryPostPr.原创 2021-04-21 10:21:21 · 210 阅读 · 0 评论 -
【Spring源码这样读】-细扒ApplicationContext之setConfigLocations(configLocations)
细扒之继续讲容器初始化流程,上篇讲了super(parent),本章初始化的下一步setConfigLocations(configLocations);大佬请略过setConfigLocations(configLocations)对应源码public void setConfigLocations(@Nullable String... locations) { if (locations != null) { Assert.noNullElements(locations, "Confi.原创 2021-04-20 18:30:21 · 246 阅读 · 0 评论 -
【Spring源码这样读】-细扒ApplicationContext之super(parent)
之前我们粗略的过了一遍IOC加载流程,现在我们开始细扒一下这个流程,不过我们不再去讲XmlBeanFactory,这里直接讲ApplicationContext,本文主要聊聊初始化的时候,super(parent)到底做了什么。ClassPathXmlApplicationContext类图深扒源码之前,一定要做好参考点,这里我们使用类图来做一个参考。super涉及的代码super这个方法对应的代码并不多,如果我们要去跟的话,只需要仔细一点,了解他的层级结构,基本问题不大。这里把所有源码都拿出.原创 2021-04-20 17:46:33 · 529 阅读 · 0 评论 -
【Spring源码这样读】-XmlBeanFactory为什么废弃了
容器的实现,我们之前大概把源码已经看了一遍。从基本流程上看ApplicationContext确实有优势的多,新增了很多的附加功能,或者说有更多的实现。但是也不能因为ApplicationContext有优势而直接废弃XmlBeanFactory,本文一起来理理为什么废弃XmlBeanFactoryXmlBeanFactory替代方案Spring 3.1以后已经废弃了XmlBeanFactory这个类了,现在推荐使用的是ApplicationContext。具体怎么使用,其实我们之前的小案例里面已经.原创 2021-04-18 14:18:39 · 1262 阅读 · 1 评论 -
【Spring源码这样读】-再次走近容器Spring IOC 三
上两篇,我们已经基本的分析完了XmlBeanFactory的应用实例,本章我们一起来分析一下ApplicationContext。大佬略过前两两篇已经将基本的XmlBeanFactory操作实例讲完了,这里我们来聊聊ApplicationContext。在之前也提过,这两个东西基本流程上应该是相差不多的。比如我们之前推测:读取配置文件根据配置文件找到对应的类并通过反射来实例化然后存入容器,被调用的时候取出ApplicationContext和XmlBeanFactory的区别在Appli.原创 2021-04-18 10:56:25 · 211 阅读 · 0 评论 -
【Spring源码这样读】-再次走近容器Spring IOC 二
继上文的问题,我们本章,继续分析我们的容器到底在做了一些什么事情。上文我们说到我们的ClassPathResource到底做了什么,但是我们阅读源码之后发现只是做了一些初始化。那我们推测的获取配置文件,然后去配置文件里面获取内容的推测还能成立吗?不需要急,我们一步一步往下看就能看到结果。既然我们看了ClassPathResource,我们在来看看new XmlBeanFactory(classPathResource);到底做了什么。构造bean工厂类/** * Create a new Xml.原创 2021-04-16 17:22:20 · 167 阅读 · 0 评论 -
【Spring源码这样读】-再次走近容器Spring IOC 一
准备工作已经做完了,现在我们就可以开始正式进入阅读环节。本文如题,主要讲的就是我们Spring的核心部分容器。这个词相比都是不陌生的,很多人接触Spring的时候就会接触到Spring的两大核心功能IOC和AOP。这里我们换一种角度来读,希望能给大家带来一些新的认知。大佬请略过,有异议的地方还请各位大佬指出。什么是容器说到容器,估计很多人都会浮现两个概念:IOC、DI。IOC:Inversion of Control,即控制反转。IOC并不是一种什么技术,而是一种编程思想。那什么是控制反转,为.原创 2021-04-15 17:34:04 · 236 阅读 · 4 评论 -
【Spring源码这样读】-下载安装一份Spring源码
阅读源码的前提是你得有一份源码,本文讲怎么下载和安装一份源码。大佬请略过下载源码之前准备环境源码的安装需要以下几个东西:JDK、IDEA、GRADLEJDK估计是多次一举的提议,不过还是要提一句,想要阅读Spring5.3X,需要安装JDK11。版本问题一定需要注意,不然安装不会成功JDK11下载地址:https://www.oracle.com/java/technologies/javase-jdk11-downloads.htmlIDEA: 建议选用2019.2以上的版本。GRADL.原创 2021-03-25 18:11:07 · 286 阅读 · 2 评论 -
【Spring源码这样读】-认识Spring的基本功能
读源码之前我们不妨去熟悉一下框架到底有哪些功能点,然后在根据功能点去提问,更有助于我们去读源码。比较熟练使用框架的大佬可以跳过,这里算是回顾一下技术参考书籍 《Spring源码深度解读》Spring整体架构图spring总共有20几个模块,包含的功能非常多,如果我们贸然的入手某一个功能,只会凌乱在庞大的代码量中。所以我们不妨拔高切入点,直接从架构图入手。(该图出自:spring 4.3.27的doc 2.2章节,最新的5.3.4并没有)架构图中模块的作用 Core Container(.原创 2021-03-16 15:49:10 · 1257 阅读 · 5 评论 -
【Spring源码这样读】-怎么阅读源码
做开发要不要读源码?如果你天天996,真心的不建议你去读源码(我是不介意做一个劝退师的)。读源码确确实实是一个费时费力的活,如果你每天都很忙,偶尔看一眼,想了解其中的奥秘,这很难办到。那我们需不需要读源码?读源码能给我们带来什么,本文会一一阐述,看完之后,你在考虑要不要去读!写在前面在考虑怎么读之前,我们不妨先来看看别人是怎么看待读源码这件事的。问:读源码有用吗?现在很多的东西都是开箱即用,既然有轮子,难道我还需要把源码读一遍再去创造一个轮子吗?答:有用!如果你天天996,偶尔看几分钟,.原创 2021-03-12 17:42:28 · 2808 阅读 · 7 评论 -
Spring教程-Spring事务管理初步认识
echo编辑整理,欢迎转载,转载请声明文章来源。Spring教程-Spring事务管理初步认识Spring有事务吗?Spring没有事务!!!很多人在面试的时候经常被问到,你知道Spring的事务吗?你们常用数据库事务?不用Spring事务吗?博主本人也碰到过很多类似的问题,有些问题还是问的很经典的,有些问问题的时候感觉面试官都不知道Spring到底有没有事务。再次强调Spring没有事务!!!我们平时使用的都是Spring对事务的封装,最终实现都是数据库事务。什么是事务?指作为单个逻辑工作单元执原创 2020-05-26 16:56:39 · 232 阅读 · 0 评论 -
Spring教程-AOP(面向切面编程)
echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。Spring的整体代码相当的经典,其中很多地方都涉及到了解耦合。其中AOP(面向切面编程)就是解耦的一种技术,它的使用有效减少了系统间的重复代码,大大提高了程序员的开发效率。AOP 的全称是“Aspect Oriented Programming”,即面向切面编程,它将业务逻辑的各个部分进行隔离,使开发人员在编写业务逻辑时可以专心于核心业务,从而提高了开发效率。提到AOP不得不提到著名的原创 2020-05-14 14:51:07 · 416 阅读 · 0 评论 -
Spring教程-Bean的作用域与生命周期
echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。Spring当中当我们了解了Bean的基本配置之后我们可以看到我们有一个配置scope,这个就是配置我们作用域范围的,默认值是singleton。由于我们平时一般都是使用默认作用域,所以很少有人关注,但是他确实一个很重要的知识点,面试也常有问道,比如:spring当中bean的作用域是怎么样的?spring中bean的生命周期请你说一下!这两个面试题无非都是在靠我们对bean的被创建到最终销原创 2020-05-13 15:10:06 · 231 阅读 · 0 评论 -
Spring教程-了解Bean配置的常用属性
echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。Spring核心机制就是依赖注册,我们之前了解了Spring工程,同事完成了基础的集中Bean的配置方式,那么这里我们需要来了解一下Bean的属性配置,这也是我们使用Spring开发的基础。依赖注册改变了传统的编程习惯,对组件的实例化不再由应用程序完成,转而交由Spring容器完成,在需要时注入应用程序中,从而对组件之间依赖关系进行了解耦。XML格式配置文件的根元素是,该元素包含了多个子原创 2020-05-13 14:49:07 · 376 阅读 · 0 评论 -
Spring教程-配置Bean的几种方式
echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。Spring中三种配置Bean的方式分别是:基于XML的配置基于注解的配置基于Java类的配置基于XML的配置如下基于注解的配置@Controller、@Service、@Component基于Java类的配置@Configurationpublic class CorsFilter implements Filter { @Bean public原创 2020-05-11 21:14:09 · 354 阅读 · 0 评论 -
Spring教程-IOC和DI概述
echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。我们体验完成了第一个spring程序,那么接下来我们讲什么?我们会对spring的基本实现和技术原理做一个浅析,同时也会对相关的技术整合进行讲解演示,比如:整合mybatis。这里现将IOC和DIIOCIOC—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部原创 2020-05-11 20:31:27 · 276 阅读 · 0 评论 -
Spring教程-创建第一个spring
echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。按照我们的开发学习惯例,我们使用新东西之前,先来一个hello word试一试,这里讲解使用idea创建一个spring项目1、选择创建项目2、点击创建Spring的选项3、创建之后会自动下载jar包,不要动他4、完成之后得到如下结构的项目验证一...原创 2020-05-08 14:53:08 · 365 阅读 · 0 评论 -
Spring教程-认识Spring
echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。概述Spring是最受欢迎的企业级Java应用程序开发框架,同时Spring框架是一个开源的、轻量级的Java框架。数以百万的来自世界各地的开发人员使用Spring框架来创建好性能、易于测试、可重用的项目。它最初是由Rod Johnson编写的,并且2003年6月首次在Apache...原创 2020-04-30 14:10:33 · 307 阅读 · 0 评论 -
spring中对数据库的基本增删改查操作
title: spring中对数据库的基本增删改查操作 date: 2018-3-1 14:31:41 categories: Spring tags: Springxl_echo编辑整理,欢迎转载,转载请声明文章来源。更多案例、资料请联系QQ:1280023003spring中对数据库的基本增删改查操作实体类代码package com.echo.domian;...原创 2018-03-29 08:20:20 · 4342 阅读 · 1 评论 -
spring中使用c3p0
title: spring中使用c3p0 date: 2018-3-1 12:44:20 categories: Spring tags: Springxl_echo编辑整理,欢迎转载,转载请声明文章来源。更多案例、资料请联系QQ:1280023003spring中内置连接池的使用配置文件代码<?xml version="1.0" encoding="U...原创 2018-03-30 09:24:25 · 810 阅读 · 0 评论 -
spring中使用c3p0
title: spring中使用c3p0 date: 2018-3-1 12:44:20 categories: Spring tags: Springxl_echo编辑整理,欢迎转载,转载请声明文章来源。更多案例、资料请联系QQ:1280023003spring中内置连接池的使用配置文件代码<?xml version="1.0" encoding="U...原创 2018-03-30 09:24:34 · 829 阅读 · 0 评论 -
spring中内置连接池的使用
title: spring中内置连接池的使用 date: 2018-3-1 12:44:20 categories: Spring tags: Springxl_echo编辑整理,欢迎转载,转载请声明文章来源。更多案例、资料请联系QQ:1280023003spring中内置连接池的使用配置文件代码<?xml version="1.0" encoding=...原创 2018-03-30 09:24:42 · 2837 阅读 · 0 评论 -
spring中的实体类属性注入
title: spring中的实体类属性注入 date: 2018-2-27 22:25:41 categories: Spring tags: Springxl_echo编辑整理,欢迎转载,转载请声明文章来源。更多案例、资料请联系QQ:1280023003spring中的实体类属性注入配置文件application.xml<?xml version="...原创 2018-03-31 08:19:57 · 4986 阅读 · 0 评论 -
spring正和strust2、hibernate小案例
title: spring整合strust2、hibernate小案例 date: 2018-3-7 17:10:27 categories: Spring tags: Springspring正和strust2、hibernate小案例echo原创,欢迎转载,转载请声明文章来源。更多案例、资料请联系QQ:1280023003 这个案例主要为了整合三大框架,使用了annot...原创 2018-03-27 12:10:13 · 417 阅读 · 0 评论 -
spring中基于annotation的事务管理转账案例
title: spring中基于annotation的事务管理转账案例 date: 2018-3-1 15:10:27 categories: Spring tags: Springxl_echo编辑整理,欢迎转载,转载请声明文章来源。更多案例、资料请联系QQ:1280023003spring中基于annotation的事务管理转账案例业务层代码package c...原创 2018-03-29 08:20:06 · 308 阅读 · 0 评论 -
SpringBoot使用AOP统一处理业务核心代码
xl_echo编辑整理,交流学习请加1280023003 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!!package com.echo.springbootexam.aop;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.annotation.AfterReturning;import...转载 2019-01-19 17:16:10 · 474 阅读 · 0 评论 -
Spring Data Solr 入门小案例
xl_echo编辑整理,欢迎转载,转载请声明文章来源。更多IT、编程案例、资料请联系QQ:1280023003 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!虽然支持任何编程语言的能力具有很大的市场价值,你可能感兴趣的问题是:我如何将Solr 的应用集成到 Spring 中?可以,Spring Data Solr 就是为了方便 Solr 的开发所研制的一个...原创 2018-04-26 21:39:29 · 718 阅读 · 0 评论 -
Spring Data Redis入门小Demo
xl_echo编辑整理,欢迎转载,转载请声明文章来源。更多IT、编程案例、资料请联系QQ:1280023003 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!创建一个Maven管理的jar工程:SpringDataRedisDemo第一步:在pom.xml文件中引入依赖,依赖主要有一下几块spring基本框架依赖junit依赖jedis依赖...原创 2018-04-26 15:50:30 · 383 阅读 · 0 评论 -
Spring Boot从未如此简单,入门案例一看就懂
xl_echo编辑整理,欢迎转载,转载请声明文章来源。更多IT、编程案例、资料请联系QQ:1280023003 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!Spring Boot相对于Spring其他框架,最大的好处在于它不需要很多的配置文件。入门能够更快,而且开箱即用,没有diamante生成,也不需要xml配置。当然它不是增强了Spring而是提供了一...原创 2018-05-02 22:50:24 · 373 阅读 · 0 评论 -
Maven结合ssh开发案例(实现数据库查询)
title: maven结合ssh开发案例(实现查询数据库) date: 2018-3-5 19:39:17 categories: Maven tags: Mavenxl_echo编辑整理,欢迎转载,转载请声明文章来源。更多案例、资料请联系QQ:1280023003maven结合ssh开发案例(实现查询数据库) 开发步骤第一步:创建maven的war工程...原创 2018-03-29 08:19:39 · 1413 阅读 · 2 评论