2019年10月11日
摘要: 非Spring风格的代码与Spring的结合现在的开发都是基于Spring的,所有的依赖都有Spring管理,这没有问题。但是要突然写一些非Spring风格的代码时,可能会很不习惯,如果还要和Spring风格的代码结合起来的话,就会稍显麻烦。因为非Spring风格的代码不由Spring管理,所以Sp 阅读全文
posted @ 2019-10-11 08:37 编程新说(李新杰) 阅读(1574) 评论(2) 推荐(14) 编辑
  2019年10月10日
摘要: 在容器启动快完成时,会把所有的单例bean进行实例化,也可以叫做预先实例化。这样做的好处之一是,可以及早地发现问题,及早的抛出异常,及早地解决掉。本文就来看下整个的实例化过程。其实还是比较繁琐的。一、从容器中找出所有的bean定义名称因为不知道谁是单例bean,所以只能先全部找出来。如下图01: 二 阅读全文
posted @ 2019-10-10 08:21 编程新说(李新杰) 阅读(1377) 评论(0) 推荐(15) 编辑
  2019年10月9日
摘要: 在Spring中能够完成依赖注入的注解有JavaSE提供的@Resource注解,就是上一篇文章介绍的。还有JavaEE提供的@javax.inject.Inject注解,这个用的很少,因为一般都不会去引用JavaEE的jar包。编程新说注:JavaEE早已经被Oracle抛弃了。JavaEE这个名 阅读全文
posted @ 2019-10-09 15:04 编程新说(李新杰) 阅读(1950) 评论(0) 推荐(12) 编辑
摘要: @Resource是Java的注解,表示一个资源,它具有双向的含义,一个是从外部获取一个资源,一个是向外部提供一个资源。这其实就对应于Spring的注入和注册。当它用在字段和方法上时,表示前者。当它用在类上时表示后者。Spring只提供了对前者的支持。该注解本身表示的是资源,资源的含义是很宽泛的。由 阅读全文
posted @ 2019-10-09 08:40 编程新说(李新杰) 阅读(2043) 评论(1) 推荐(12) 编辑
  2019年10月8日
摘要: 在bean的实例化过程中,也会用到一系列的相关注解。如@PostConstruct和@PreDestroy用来标记初始化和销毁方法。平常更多的是侧重于应用,很少会有人去了解它背后发生的事情。今天就来看下它们的源码,这样它们对你来说就不再是黑盒子了,而且学习源码对每个技术人来说都是必经之路。人们对事物 阅读全文
posted @ 2019-10-08 10:46 编程新说(李新杰) 阅读(1206) 评论(0) 推荐(11) 编辑
  2019年9月30日
摘要: 一个小小的里程碑首先感谢能看到本文的朋友,感谢你的一路陪伴。如果每篇都认真看的话,会发现本系列以bean定义作为切入点,先是详细解说了什么是bean定义,接着又强调了bean定义为什么如此重要。然后又讲了获取bean定义详细信息的方法,接着又讲了bean定义注册的若干种方式,然后是bean定义注册方 阅读全文
posted @ 2019-09-30 10:20 编程新说(李新杰) 阅读(1771) 评论(0) 推荐(10) 编辑
  2019年9月29日
摘要: 上一篇文章介绍了对@Configuration类的处理逻辑,这些逻辑都写在ConfigurationClassPostProcessor类中。 这个类不仅是一个“bean工厂后处理器”,还是一个“bean定义注册后处理器”。这其实是两个接口,它们都是来操作bean定义。所以非常重要。换句话说,能操作 阅读全文
posted @ 2019-09-29 14:35 编程新说(李新杰) 阅读(824) 评论(0) 推荐(11) 编辑
摘要: 其实对Spring的了解达到一定程度后,你就会发现,无论是使用Spring框架开发的应用,还是Spring框架本身的开发都是围绕着注解构建起来的。空口无凭,那就说个最普通的例子吧。在Spring中要启用一项XXX功能,标准做法就是用@EnableXXX这种“启用”类型的注解。那么这种类型的注解一般都 阅读全文
posted @ 2019-09-29 08:09 编程新说(李新杰) 阅读(1013) 评论(2) 推荐(11) 编辑
  2019年9月28日
摘要: 上一篇文章整体非常轻松,因为在容器启动前,只注册了一个bean定义,就是SpringBoot的主类。OK,今天接着从容器的启动入手,找出剩余所有的bean定义的注册过程。具体细节肯定会颇为复杂,同样,大家只需关注都干了什么,不用考虑如何干的。来宏观的看下容器的启动过程,即refresh方法,如下图0 阅读全文
posted @ 2019-09-28 19:37 编程新说(李新杰) 阅读(1235) 评论(0) 推荐(11) 编辑
摘要: 上一篇文章强调了bean定义注册占Spring应用的半壁江山。而且详细介绍了两个重量级的注册bean定义的类。今天就以SpringBoot为例,来看看整个SpringBoot应用的bean定义是如何注册进容器的。先来看看经典的启动入口,如下图01: 可以看到调用的是run方法,并把主类(main或p 阅读全文
posted @ 2019-09-28 12:42 编程新说(李新杰) 阅读(726) 评论(1) 推荐(13) 编辑