E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Spring源码分析
面试官:为什么《阿里巴巴Java开发手册》上要禁止使用Executors来创建线程池
扫描下方二维码或者微信搜索公众号菜鸟飞呀飞,即可关注微信公众号,阅读更多
Spring源码分析
和Java并发编程文章。
天堂2013
·
2020-06-25 08:54
多线程
Java
Spring源码分析
(一)——IOC容器的思考
Java后端开发有很多框架,最著名的就是Spring了。这个框架已经存在了快20年了,经过不断的更新迭代,成为了目前最火热的后端开发框架,并且形成了一个庞大的社区,衍生出很多系统设计的思想以及实现。在享受Spring带给我们开发便利的同时,了解背后的设计原理有助于我们更好的使用它,甚至在巨人的肩膀上进行二次开发,为开源社区贡献力量。本专题将深入到Spring框架的源码中去,网上看到好多对于Spri
wzcspace
·
2020-06-25 06:24
Spring
源码阅读
spring源码分析
-01-概述
1.1、spring设计伊始spring是为了解决企业级应用开发的复杂性而设计的,它可以做很多事情。但归根到底支撑spring的仅仅是少许基本理论。而所有的这些基本理念都可以追溯到一个最根本的使命:简化开发。而spring立志于简化java开发,对此他采用了四个关键策略:1):基于pojo的轻量级和最小侵入性编程;2):通过依赖注入和面向接口的松耦合;3):基于切面和惯性进行声明式的编程;4):通
续亮~
·
2020-06-25 04:46
spring技术提升
Spring IoC 源码分析
newClassPathXmlApplicationContext("......")ctx.getBean("xxx",xxx.class);一般springdemo都会选择这种启动方式,ClassPathXmlApplicationContext就是
spring
wanhf11
·
2020-06-25 00:31
Spring
一、
Spring源码分析
之常用设计模式-工厂模式
Spring源码分析
之常用设计模式0.前言0.123种设计模式0.2设计模式的中的原则0.2.1开闭原则(OpenClosePrinciple)0.2.2里氏代换原则(LiskovSubstitutionPrinciple
Maker__Chen
·
2020-06-24 19:20
Spring源码分析
Spring源码分析
-如何获取Bean对象
导语 在上篇博客中介绍了关于BeanFactory和FactoryBean相关的操作,并且查看了在两个操作中他们具体的代码有那些,这篇博客主要就是顺着上篇博客思路继续来分析Bean对象的获取。下面就让我们进入主题文章目录类继承关系缓存中获取Bean对象从Bean实例中获取对象获取单例准备创建Bean处理Override属性实例化的前置处理总结类继承关系 在分析Bean对象的获取之前,首先来看一
nihui123
·
2020-06-24 17:28
Spring
Spring源码分析
-从源码看BeanFactory和FactoryBean的区别
导语 在使用Spring中最为核心的操作就是Bean的创建以及使用。下面就来带着大家一起来分析一下关于Spring的Bean的加载相关的知识文章目录BeanFactorygetBean方法原理分析1、转换对应的BeanName2、尝试从缓存中加载单例3、Bean的实例化4、原型模式依赖检查5、检查ParentBeanFactory6、将XML配置文件中的对象关系进行转换7、依赖查找8、根据不同的
nihui123
·
2020-06-24 17:28
Spring
Spring源码分析
-循环依赖
导语 前面提到了实例化Bean其实是一个复杂的过程,而在这个过程中比较难以理解的就是循环依赖的问题,下面就先来看看什么是循环依赖文章目录什么是循环依赖?Spring是怎么解决循环依赖的?1、构造器循环依赖2、setter循环依赖3、prototype范围的依赖处理总结什么是循环依赖? &emps;循环依赖就是循环引用对象,也就是说两个或者两个以上的对象Bean之间相互之间持有对方,例如说A对象以
nihui123
·
2020-06-24 17:57
Spring
SpringBoot到
Spring源码分析
之META-INF/spring.factories解析过程
说明:本章在之前章节《SpringBoot启动流程源码分析》的基础上进行继续源码分析。前面我们分析到SpringApplication类的run方法,这个方法主要在顶层设计上定义了SpringBoot项目的整个启动过程,同时包括了Spring容器的启动过程。本章继前面的基础上继续分析META-INF/spring.factories文件的加载过程,META-INF/spring.factories
蓝空翱翔
·
2020-06-24 11:13
Spring源码分析
为什么xml定义的bean优先于注解定义的bean ?
spring大家都再熟悉不过了,功能十分强大,个人感觉对Java语言推进最大的两个部分一个是Jdk5的concurrent包还有就是Spring.concurrent工具类的推出,对java并发编程的提升是巨大的,目前java很多优秀的中间件比如netty都是在它的基础上开发出来的;spring的推出,提升了项目开发和管理的效率,现在主流的项目都是采用的spring,它以一己之力改变了传统的J2E
积跬步方至千里
·
2020-06-24 03:47
spring
Spring ioc源码分析
Spring源码分析
核心容器类图BeanFactory是典型的工厂模式,为ioc容器开发者管理对象之间的依赖关系提供了很多遍历和基础服务。
周振宇
·
2020-06-23 09:17
Spring
Dubbo2.7源码分析-Dubbo是如何整合spring framework的
这篇文章是Dubbo源码分析的开端,与其说这篇文章是Dubbo源码分析,不如是
spring源码分析
,因为大部分都是在分析spring如何解析xml配置文件的,为了与后面的Dubbo源码分析保持一致,姑且这样命名了使用
单行线的旋律
·
2020-06-23 05:49
spring4.1.8扩展实战之二:Aware接口揭秘
我们只需创建类来实现相关接口,再声明为bean,就可以被spring容器主动回调;原文地址:https://blog.csdn.net/boling_cavalry/article/details/81611426
spring
程序员欣宸
·
2020-06-22 18:35
java服务端
spring4源码分析与实战
spring源码分析
——BeanPostProcessor接口
BeanPostProcessor是处理bean的后置接口,beanDefinitionMaps中的BeanDefinition实例化完成后,完成populateBean,属性设置,完成初始化后,这个接口支持对bean做自定义的操作。一:BeanPostProcessor的使用定义一个测试用的model对象,name属性默认为hellopublicclassBeanDemo{privateStri
warrior1234
·
2020-06-18 17:00
spring源码分析
——BeanDefinitionRegistryPostProcessor接口与BeanFactoryPostProcessor接口
一:BeanDefinitionRegistryPostProcessor与BeanFactoryPostProcessor接口这个接口支持自定义beanDefinition的注册,在标准的注册完成后(解析xml或者注解),在与实例化对象之前,实现这个接口可以向beanDefinitionMap中注册自定义的beanDefinition,这个接口从定义上看更多的是关注注册。1:实现beanDefi
warrior1234
·
2020-06-18 15:00
spring源码分析
——自定义标签的解析以及SPI机制
上一节我们分析了默认标签的解析,这一节看一次自定义标签,例如:contextaop等等都是自定义标签,在分析自定义标签之前,我们先看一下SPI机制,SPI就是一个服务的扩展机制,可以把接口的实现类配置到META-INF元数据区,框架启动时加载到缓存,最初的版本是jdk中实现的,后来在spring、springboot、dubbo中都有相应的使用。一:jdk的spi机制META-INF下创建serv
warrior1234
·
2020-06-17 11:00
spring源码分析
——默认标签的解析
上一节
spring源码分析
,看到spring将xml文件封装成了Document对象,然后委托给BeanDefinitionDocumentReader来解析,从parseBeanDefinitions
warrior1234
·
2020-06-16 18:00
spring源码分析
——xml加载流程
这里我们以最基础的xml配置的形式来解析,看一下spring启动流程的初始步骤:一:使用spring引入依赖:org.springframeworkspring-context${spring-context.version}ch.qos.logbacklogback-classic${logback-classic.version}配置spring-context.xml文件,下面的proper
warrior1234
·
2020-06-15 18:00
spring源码分析
之bean的创建
目录一、不同scope实例创建的简单分析1、单例对象创建getSingleton(StringbeanName,ObjectFactoryof)方法详解2、原型对象创建3、其他Scope范围bean实例创建二、创建bean实例的核心流程分析1、creatBean()方法2、doCreateBean()方法3、createBeanInstance()3.1、使用Supplier函数接口进行bean的
liushangzaibeijing
·
2020-05-04 14:31
spring源码
Spring源码分析
开篇之计划和想法
说到Spring相信所有的Javaer都如雷贯耳,作为Java领域的世界第一框架,几乎在所有的Web项目中都能看到他的身影,随着时间的推移Spring覆盖的范围越来越广,功能也越来越多,但其最核心的思想永远都是控制反转IoC和面向切面AOP。老实说这两个特性用起来并不复杂,理论原理也并不深奥,但理解和内化的程度总有深浅之分,就像读ThinkinginJava,初学者和工作两三年的人看到的东西不同,
宝之家
·
2020-04-08 10:41
spring源码分析
之事务
什么是事务事务是作为一个逻辑单元执行的一系列操作。一个事务中的一系列的操作要么全部成功,要么一个都失败。事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。原子性(atomicity):一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。一致性(consistency):事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是
lijiaccy
·
2020-04-06 19:04
Spring源码分析
-bean的解析(1)
Spring源码分析
-bean的解析(1)当前版本Spring4.3.8我们一开始需要先定义一个Bean和一个xml//beanpackageio.github.binglau.bean;importlombok.Data
仗剑诗篇
·
2020-04-03 09:51
Spring源码分析
之IOC的三种常见用法及源码实现(二)
回顾上文我们研究的是AnnotationConfigApplicationContextannotationConfigApplication=newAnnotationConfigApplicationContext(MainConfig.class);Personperson2=(Person)annotationConfigApplication.getBean("person2");这两句
词汇族_cb29
·
2020-04-02 01:58
Spring源码分析
笔记——bean
Spring****源码分析笔记——bean开始使用Spring框架后,它的便捷易用,强大,给当年没有使用任何框架,从头到尾自己敲JavaWeb的我来说,简直到了天堂。但由于对不能完全自己掌控的感觉的不爽,特别是在配置一个Spring项目时,需要各种摸索试错。于是,诞生了阅读Spring源码,彻底对它滚瓜烂熟,有问题精准定位,并熟练使用的伟大目标。。。。。。。。在此,列出几个优点来鼓舞自己坚持下去
yddchsc君
·
2020-03-31 17:25
spring 源码分析(二)Core
spring源码分析
(二)Coresschrodinger2019/03/14参考Spring中Bean的生命周期是怎样的?
sschrodinger
·
2020-03-23 10:04
Spring源码分析
-bean的解析(2)
Spring源码分析
-bean的解析(2)当前版本Spring4.3.8默认标签的解析接上parseDefaultElement(ele,delegate);DefaultBeanDefinitionDocumentReader
仗剑诗篇
·
2020-03-23 09:11
Spring源码(八)-Spring-IOC中的注解
在
spring源码分析
结束之后,我们也已经完成了循环依赖的解决方案以及设计模式,那么接下来我们分析下Spring中常用的注解。这里先说明下注解类型。
阿亮私语
·
2020-03-13 07:03
Spring源码分析
首先上Springl的源码构架图Spring源码架构图再次上Spring的包结构图,基于Spring3.2XSpring包结构图1.核心容器:由spring-beans、spring-core、spring-context和spring-expression(SpringExpressionLanguage,SpEL)4个模块组成。spring-beans和spring-core模块是Spring
DNIX
·
2020-03-07 05:08
@Autowired、@Resource和@Inject注解的区别(最详细)
Resource和@Inject来完成,并且在一般的使用中是可以相互替换的(注意是一般),不过三者还是有区别,今天来介绍一下他们的区别:如果你想更加深入的了解@Autowired、@Resource的区别,请移步:
Spring
goodluckwj
·
2020-02-26 20:10
Spring
Spring
spring源码分析
3----refresh方法
作者:
[email protected]
转载请注明作者前两篇讲了xml的读取,这一篇继续讲xml的读取是被谁调用的。涉及的类主要是AbstractApplicationContext,以及类中的refresh方法。AbstractApplicationContext这个类代码比较多,挑重点。下面来看一下refresh方法。@Overridepublicvoidrefresh()throw
天一阁图书管理员
·
2020-02-24 17:50
spring源码分析
2----读xml中的bean
作者:
[email protected]
转载请注明作者上一篇讲到XmlBeanDefinitionReader读xml文件,这一篇继续。在正式开始之前,我们先回顾一下bean在xml配置中的格式是什么样子,这里面有关键字要先说明一下:其中要关注的关键字就是beans和bean。下面继续上一篇讲到的方法loadBeanDefinitions,它实际上是被另一个同名方法调用的,代码如下:pr
天一阁图书管理员
·
2020-02-22 11:57
Spring源码分析
(一) XmlWebApplicationContext
spring是大家都会用的ioc框架,但是要真的了解spring还是需要好好研究一下才行,为此看了一些spring源码,所以开始写
spring源码分析
的文章,这个是第一篇,先从ioc容器的启动开始。
skyguard
·
2020-02-09 07:41
spring源码分析
(一)
你怎么理解SpringIOC、AOP,体现在SpringFrameWork中只实现IOC功能的花不用导入core依赖,context就行idea打开的源码都是反编译过的,同时做一个优化,但是只是只读文件,不能操作修改虽然我们只依赖context,maven帮我们把aop、jcl、beans、core等都下下来了使用idea和gradle编译spring5源码spring用gradel开发,buil
SunliTtong
·
2020-02-02 23:59
spring源码分析
(二)
AOPSpringAOP定位这部分很重要,以后说这里可以搜教程,右侧可以download下来案例什么是AOP与OOP相比,面向切面,传统的OOP开发中的代码是自上而下的,而这些过程会产生一些横切性问题,这些横切性问题和我们的主业务逻辑关系不大,这些横切性问题不会影响到主逻辑实现,但是会散落到代码的各个部分,难以维护。AOP是处理一些横切性问题,AOP的编程思想就是把这些问题和主业务逻辑分开,达到与
SunliTtong
·
2020-02-02 18:17
spring源码分析
(三)
SpringbootSpringMVCMyWebApplicationInitializer核心tomcatweb容器遵循了servlet规范jetty也是javaweb容器tomcat7是servlet3.0规范前3.0规范在path路径下有META-INF/services下javax.servlet.ServletContainerInitializer类实现了ServletContaine
SunliTtong
·
2020-02-02 04:54
Idea编译Spring源码总结
希望大家通过本篇小文顺利搭建编译环境,与我一起踏上
Spring源码分析
之旅!
程序员•进军SJF
·
2020-01-19 15:09
编程语言
java
spring源码分析
之AOP
AOP核心概念横切关注点:对哪些方法进行拦截,拦截后怎么处理,这些关注点称之为横切关注点切面(aspect):类是对物体特征的抽象,切面就是对横切关注点的抽象连接点(joinpoint):被拦截到的点,因为Spring只支持方法类型的连接点,所以在Spring中连接点指的就是被拦截到的方法,实际上连接点还可以是字段或者构造器切入点(pointcut):对连接点进行拦截的定义通知(advice):所
lijiaccy
·
2020-01-05 09:49
Spring源码分析
和总结
Spring源码分析
和总结我以下呢就模拟一个请求从代码上简单说说SpringMVC一个请求得流程先来个图image当一个请求(request)过来,进入DispatcherServlet中,里面有个方法叫
IT诸葛亮
·
2019-12-31 01:00
2018-06-02
spring源码分析
(七)目录五、源码分析--5.8SpringMVC框架设计原理----5.8.1SpringMVC请求处理流程----5.8.2SpringMVC的工作机制----5.8.3SpringMVC
毛子果
·
2019-12-30 02:15
Spring源码分析
(四)SpringMVC初始化
前言SpringMVC是一个模型-视图-控制器(MVC)的Web框架。在具体使用时,我们通过Controller注解标明类是一个控制器,通过RequestMapping指明了请求地址。当我们的请求到来时,Spring就定位到类的方法。这一切看起来都这么完美,但是Spring在底下到底是怎么做的呢?本章是解析SpringMVC的第一部分,先来看它初始化的时候做了哪些工作。1、请求处理流程在分析之前先
清幽之地
·
2019-12-29 21:02
Java CAS原理
整理了一份Java高级架构资料、
Spring源码分析
、Dubbo、Redis、Netty、zookeeper、Springcloud、分布式等资。本号专注Java源码分析。
Java耕耘者
·
2019-12-28 13:33
spring 源码分析(四)Web
spring源码分析
(四)Websschrodiner2018/5/11servlet简介什么是servletJavaServlet是运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他
sschrodinger
·
2019-12-26 04:17
spring 源码分析(四)core
Spring源码分析
sschrodinger2019/08/14注解代理如何应用bean生命周期bean的生命周期如下:image.png详见
Spring源码分析
(二),其中,代理生成最主要的过程为第9
sschrodinger
·
2019-12-25 18:11
spring源码分析
1
我们知道,当:AnnotationConfigApplicationContextal=newAnnotationConfigApplicationContext(appconfig.class);//appconfig这个类是个spring配置类,加了@Configuration,@ComponentScan("packgename")这两个注解。此方法初始化了spring容器下面一探源码:/*
CodeFive
·
2019-12-25 00:10
Spring源码分析
--从HelloWord开始
一、前言学习Spring已经有一段时间了,一直对spring的源码比较好奇,因此开始准备对Spring的源码进行学习。这篇就从最简单的HelloWord开始二、分析Java代码publicclassPerson{publicPerson(){System.out.println("Personexecute");}privateStringname;privateIntegerid;publicS
是书生
·
2019-12-20 11:58
Spring源码分析
之AOP
AOP(AspectOrientedPrograming),即面向切面编程。它的主要思想是将分散在各个业务逻辑中的代码通过横向切割的方式抽取到一个独立的模块中。通常可以用于性能监测,访问控制,事务管理和日志记录等。1.SpringAOP的使用SpringAOP同时支持XML和注解两种方式进行配置。1.1基于注解方式首先Spring文件中启用Spring注解支持和AspectJ注解支持。下面是切面的
伊凡的一天
·
2019-12-14 13:03
Spring源码分析
(五)SpringMVC是怎样处理请求的?
前言上一节我们看到了SpringMVC在初始化的时候做了大量的准备工作,本章节就重点跟踪下SpringMVC的实际调用过程。1、DispatcherServlet记不记得,在大学期间或者刚接触JavaWEB开发的时候,前后端交互往往需要一个Servlet来接收请求,并返回信息。时至今日,Servlet仍不过时。如果是一个SpringMVC的项目,在WEB.XML里面需要配置一个Dispatcher
清幽之地
·
2019-12-08 01:29
分布式全局唯一ID生成策略
整理了一份Java高级架构资料、
Spring源码分析
、Dubbo、Redis、Netty、zookeeper、Springcloud、分布式等资。本号专注Java源码分析。
Java耕耘者
·
2019-12-07 06:38
2018-05-05
spring源码分析
(三)目录五、Spring源码解读--5.4、IOC容器的依赖注入----1、依赖注入发生的时间----2、AbstractBeanFactory通过getBean向IOC容器获取被管理的
毛子果
·
2019-12-02 08:17
2018-05-26
spring源码分析
(六)目录五、
spring源码分析
--5.7、SpringJDBC设计原理及二次开发----1.异常处理----2.config模块----3.core模块------3.1NativeJdbcExtractor
毛子果
·
2019-12-02 05:09
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他