Spring
Thunder_C
喜欢计算机行业
展开
-
Spring-JavaConfig与常见Annotation
一、JavaConfig我们知道bean是Spring IOC中非常核心的概念,Spring容器负责bean的生命周期的管理。在最初,Spring使用XML配置文件的方式来描述bean的定义以及相互间的依赖关系,但随着Spring的发展,越来越多的人对这种方式表示不满,因为Spring项目的所有业务类均以bean的形式配置在XML文件中,造成了大量的XML文件,使项目变得复杂且难以管理。后...转载 2019-03-05 11:24:32 · 316 阅读 · 0 评论 -
Spring-SpringFactoriesLoader详解
JVM提供了3种类加载器:BootstrapClassLoader、ExtClassLoader、AppClassLoader分别加载Java核心类库、扩展类库以及应用的类路径(CLASSPATH)下的类库。JVM通过双亲委派模型进行类的加载,我们也可以通过继承java.lang.classloader实现自己的类加载器。何为双亲委派模型?当一个类加载器收到类加载任务时,会先交给自己的父加载器...转载 2019-03-05 13:00:17 · 1518 阅读 · 0 评论 -
Spring-Spring容器的事件监听机制
过去,事件监听机制多用于图形界面编程,比如:点击按钮、在文本框输入内容等操作被称为事件,而当事件触发时,应用程序作出一定的响应则表示应用监听了这个事件,而在服务器端,事件的监听机制更多的用于异步通知以及监控和异常处理。Java提供了实现事件监听机制的两个基础类:自定义事件类型扩展自java.util.EventObject、事件的监听器扩展自java.util.EventListener。来看一个...转载 2019-03-05 15:55:18 · 499 阅读 · 0 评论 -
Spring-Spring中的aware接口
Spring中有很多继承于aware中的接口,这些接口到底是做什么用到的。Awareaware,翻译过来是知道的,已感知的,意识到的,所以这些接口从字面意思应该是能感知到所有Aware前面的含义。Spring的依赖注入的最大亮点就是你所有的Bean对Spring容器的存在是没有意识的。即你可以将你的容器替换成别的容器,例如Goggle Guice,这时Bean之间的耦合度很低。但...转载 2019-03-06 13:22:45 · 365 阅读 · 0 评论 -
Spring Boot-自动配置原理
典型的Spring Boot应用的启动类一般均位于src/main/java根路径下,比如MoonApplication类:@SpringBootApplicationpublic class MoonApplication { public static void main(String[] args) { SpringApplication.run(MoonA...转载 2019-03-06 13:58:02 · 308 阅读 · 0 评论 -
Spring Boot-Spring Boot应用启动
一、SpringApplication初始化SpringBoot整个启动流程分为两个步骤:初始化一个SpringApplication对象、执行该对象的run方法。看下SpringApplication的初始化流程,SpringApplication的构造方法中调用initialize(Object[] sources)方法,其代码如下:private void initialize(O...转载 2019-03-06 15:03:45 · 266 阅读 · 0 评论 -
Spring-IoC容器
可以把Spring IoC容器比作一间餐馆,当你来到餐馆,通常会直接招呼服务员:点菜!至于菜的原料是什么?如何用原料把菜做出来?可能你根本就不关心。IoC容器也是一样,你只需要告诉它需要某个bean,它就把对应的实例(instance)扔给你,至于这个bean是否依赖其他组件,怎样完成它的初始化,根本就不需要你关心。作为餐馆,想要做出菜肴,得知道菜的原料和菜谱,同样地,IoC容器想要管理各个业...转载 2019-03-04 16:35:26 · 369 阅读 · 0 评论 -
Spring-容器扩展机制
IoC容器负责管理容器中所有bean的生命周期,而在bean生命周期的不同阶段,Spring提供了不同的扩展点来改变bean的命运。在容器的启动阶段,BeanFactoryPostProcessor允许我们在容器实例化相应对象之前,对注册到容器的BeanDefinition所保存的信息做一些额外的操作,比如修改bean定义的某些属性或者增加其他信息等。如果要自定义扩展类,通常需要实现org.s...转载 2019-03-04 17:16:30 · 1171 阅读 · 0 评论