Spring源码深度解析(AOP功能源码解析)

前言:     有关于Spring,我们最常用的两个功能就是IOC和AOP,前几篇文章从源码级别介绍了Spring容器如何为我们生成bean及bean之间的依赖关系     下面我们接着来看AOP的源码实现。       有关于AOP,我们在面试中也被无数次问到,AOP是什么?AOP有什么...

2018-07-12 11:28:14

阅读数 7799

评论数 6

Spring源码深度解析(XmlBeanFactory源码解析上)

前言:     Spring容器有多种实现方式,一般来说可分为:BeanFactory和ApplicationContext     * BeanFactory提供了容器的基本功能,如getBean()等功能     * ApplicationContext接口继承了BeanFactory,...

2018-07-09 13:55:10

阅读数 1027

评论数 6

@Resource那点事

前言: 在项目开发中,@Autowired和@Resource之争,一直搞不清楚,反正也不想搞清楚到底什么时候用@Autowired,什么场景下用@Resource,就一直用@Autowired得了。 现在又到了还账的时候了,必须写一篇文章搞懂@Resource那点事 上一篇文章...

2019-05-12 15:40:39

阅读数 32

评论数 0

@Autowired使用全纪录

前言: @Autowired应该是我们在Spring项目中最常用的注解了。 使用起来非常方便,但是一旦出现问题调试起来也是比较麻烦的。 笔者就是这样,平时用来一时爽,出现问题两行泪。 究其原因,还是对@Autowired了解得不够深入,下决心好好玩一次 1.@Autow...

2019-05-12 14:26:36

阅读数 17

评论数 0

FactoryBean和BeanFactory

前言: 这是一个很容易被问到的关于Spring的面试题。 两个特别像,但是功能却千差万别。 有关于BeanFactory,我们都知道,这是Spring容器的基础实现类,它负责生产和管理Bean的一个工厂。当然BeanFactory只是一个接口,它的常用实现有XmlBeanFact...

2019-05-12 10:16:35

阅读数 17

评论数 0

定制化Bean的利器:BeanPostProcessor、BeanFactoryPostProcessor

前言: Spring的面试中,一般都会问到IOC和AOP,大部分同学都能回答出这些知识点的基本运用,如果再多问一句,AOP的底层实现方式,大部分人都会回答动态代理。那么动态代理是如何被使用到Bean上的呢?到这里可能要刷掉一大部分人,如果没有看过Spring的源码的话,这个是比较难回答的。 ...

2019-05-12 09:16:21

阅读数 18

评论数 0

Spring优雅关闭之:ShutDownHook

前言: 又是一个之前没关注过的课题,发现学习Spring官方文档还是有用的,一个个的知识点不断冒出来。 意外的发现朱小厮https://blog.csdn.net/u013256816/大神也是CSDN重度患者,哈哈,向大神学习,好好写博客,应该有一天也可以出书的吧。 闲话不...

2019-05-04 15:59:17

阅读数 27

评论数 0

Spring容器生命周期管理:SmartLifecycle

前言: 笔者之前在项目中倒也没有关注过Spring容器的生命周期管理(大家注意下:之前一篇博客介绍的是Spring中Bean的生命周期管理,与目前要介绍的Spring容器的生命周期管理倒还是千差万别的,千万不要混淆了)。 Spring容器,我们常用的就是ApplicationConte...

2019-05-04 15:51:48

阅读数 25

评论数 0

Spring控制Bean生命周期行为的几种方式

前言: Spring中的Bean从创建到销毁经历了一个又一个阶段,在这些阶段中,我们可以通过某些方法来控制Bean的创建、Bean的销毁。 在Spring的官方文档中,有这么一段话 As of Spring 2.5, you have three options for contr...

2019-05-03 18:25:06

阅读数 10

评论数 0

Spring如何引入其他资源:<import>和@Import @ImportResource

前言: 作为一个中型的基于Spring的项目时,我们经常会分模块开发,那么bean定义文件我们如何分配和管理呢?是都放在一个配置文件中嘛? 我们在老项目二次开发的时候,经常会遇到需要使用之前的beans配置文件,集成到当前项目配置中,遇到这种情况如何操作呢? 1.合理使用&...

2019-05-03 18:17:23

阅读数 68

评论数 0

Spring定义Bean的两种方式:<bean>和@Bean

前言: Spring中最重要的概念IOC和AOP,实际围绕的就是Bean的生成与使用。 什么叫做Bean呢?我们可以理解成对象,每一个你想交给Spring去托管的对象都可以称之为Bean。 今天通过Spring官方文档来了解下,如何生成bean,如何使用呢? 1.通过XML...

2019-05-02 14:28:39

阅读数 16

评论数 0

Spring官方文档学习:开篇

前言: 入行也算有几年了,Spring也是一直都在用,源码也看了一些,相关博客也写了一些,但是总觉得还是对Spring的理解不够深入。仔细想来,应该是Spring的使用还不够深入,所以导致理解也不够深入。 痛定思痛,决心把Spring从头到尾好好的学一遍,用示例的方式一个个知识点敲过来...

2019-05-02 10:54:11

阅读数 13

评论数 0

JDK源码解析之ThreadPoolExecutor

前言:     线程池的使用在java开发中屡见不鲜,我们一般会这样使用 // 1.创建一个固定线程数的线程池 ExecutorService threadPool = Executors.newFixedThreadPool(5); // 2.提交任务 threadPool.submit(...

2019-01-17 16:25:42

阅读数 128

评论数 0

JDK源码解析之LockSupport

前言:     之前关于AQS和ReentrantLock的介绍中,在获取锁和释放锁的操作中,有一个类被反复使用到,就是LockSupport.java     在AQS.lock()方法中,调用到了LockSupport.park(Object blocker)方法     在AQS.un...

2019-01-16 12:01:01

阅读数 55

评论数 0

JDK源码解析之ReentrantLock

前言:     之前说过,JDK有两种锁的方式,一种是Synchronized,一种就是CAS     基于CAS实现的Unsafe我们无法直接使用,我们一般就是使用ReentrantLock来实现锁的功能     那么本文我们就来看下ReentrantLock是如何实现CAS锁的   ...

2019-01-15 18:06:12

阅读数 50

评论数 0

JDK源码解析之AtomicInteger及CAS

前言:     JDK中的锁大致可以分为两类:Synchronized和CAS。     CAS的使用中,有直接使用的,比如AtomicInteger;有间接使用的比如ReentrantLock。     本文就说一下直接使用CAS的AtomicInteger类,看其是如何直接使用的   ...

2019-01-15 18:00:44

阅读数 50

评论数 0

JDK源码解析之AbstractQueuedSynchronizer

前言:     JDK中的锁大致可以分为两类:Synchronized和CAS。     CAS的使用中,有直接使用的,比如AtomicInteger;有间接使用的比如ReentrantLock。关于AtomicInteger的分析可参考笔者的上一篇博客:     CAS间接实现的典型代表是...

2019-01-15 17:56:58

阅读数 52

评论数 0

JDK源码解析之HashSet

前言:     集合类型三巨头:List、Set、Map     在之前的博客中已经讲了关于List的实现类、Map的实现类,现在还有Set相关的没有介绍过了。     为什么先介绍Map后介绍Set呢?按理说Set应该比Map的实现更简单点啊?          当然,这是笔者的一点小...

2019-01-10 17:32:54

阅读数 48

评论数 0

JDK源码解析之LinkedHashMap

前言:     在上一篇博客中,我们系统的介绍了HashMap,HashMap是非线程安全的类,一般情况下作为局部变量使用是完全可以的。     HashMap的存放是无序的,按照一定的规则映射的,所以,遍历其元素的顺序与添加的顺序是不一致的。     如果我们想按照添加的顺序来遍历元素该如...

2019-01-10 17:28:45

阅读数 30

评论数 0

JDK源码解析之HashMap

前言:     关于HashMap的源码解析网上已经有很多大神级别的文章,看的笔者心生敬佩,真心不敢写了。     但是每次聊到HashMap的时候,总会有知识点是模糊的,应该还是眼高手低的缘故,所以还是决心写一下(很多参考大神的文章)     注意:笔者的JDK是1.8.3版本的,所以包括...

2019-01-10 11:08:28

阅读数 55

评论数 0

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