Spring
文章平均质量分 80
Spring 源码探究、使用配置。
oxf
纵有疾风起,人生不言弃
展开
-
Spring 配置使用 - AOP 通知类型
基本概念AOP,即 Aspect-Oriented Programming(面向切面编程),它其实是 OOP(Object-Oriented Programing,面向对象编程)思想的补充和完善。在使用 Spring AOP 之前,首先需要掌握以下几个常用术语:1.aspectaspect,即切面。切面是通知和切点的结合。通知和切点共同定义了关于切面的全部内容。2.adviceadvice,即通知。原创 2016-10-13 22:55:44 · 4854 阅读 · 0 评论 -
Spring 配置使用 - AOP 通知参数
基本概念若想要在通知方法获取被通知方法的参数共有两种方式:自动获取、手动指定。下面来探究下这两种方式的不同之处。自动获取参数在介绍 AOP 的通知类型时有提到过环绕通知,该通知类型可以通过参数 ProceedingJoinPoint 自动获取被通知方法的参数值并调用该方法。除了 ProceedingJoinPoint 外,还有 JoinPoint,JoinPoint.StaticPart 也都能自动原创 2016-10-17 23:13:31 · 3964 阅读 · 0 评论 -
Spring 配置使用 - 装配 Bean
Bean 声明配置Spring 利用 Ioc 容器管理 Bean,前提是 Bean 需要在配置文件声明(定义)。声明一个 Bean 需要的基本元素如下: 元素 作用 class 全限定类名,即 Bean 的完整包名,是必不可少的元素。 id 标识,在整个 Ioc 容器中必须唯一,用来区分不同的 Bean。若 Bean 未指定 id,则 Ioc 容器会为其自动生成一个标识;只能原创 2016-09-07 22:39:20 · 2193 阅读 · 1 评论 -
Spring 配置使用 - Bean 自动装配
基本概念自动装配(autowire),意味着整个装配过程是自动完成,而不再由我们手动去指定。在 Spring 中自动装配共有以下几种方式: 名称 说明 no 表示不使用自动装配,此时必须手动指定依赖的 Bean byName 根据属性名自动装配,默认会检查整个容器中与属性名称相同的 Bean 标识。 byType 根据属性的类型自动装配,默认会检查整个容器与属性类型相同原创 2016-09-29 21:51:38 · 1377 阅读 · 0 评论 -
Spring 配置使用 - Bean 生命周期
基本概念Spring 中的 Bean 的生命周期,指的是 Bean 从创建到销毁的过程。下面来探究下几个有关 Bean 生命周期配置的属性。lazy-initlazy-init 表示延迟加载 Bean,默认在 Spring IoC 容器初始化时会实例化所有在配置文件定义的 Bean,若启用了 lazy-init 则在调用 Bean 时才会去创建 Bean。-定义 Bean:public class原创 2016-10-08 22:49:54 · 1151 阅读 · 0 评论 -
Spring 配置使用 - Bean 作用域
基本概念Scope,也称作用域,在 Spring IoC 容器是指其创建的 Bean 对象相对于其他 Bean 对象的请求可见范围。在 Spring IoC 容器中具有以下几种作用域:基本作用域(request、prototype),Web 作用域(reqeust、session、globalsession),自定义作用域。Spring 的作用域在装配 Bean 时就必须在配置文件中指明,配置方式如原创 2016-10-08 21:59:38 · 4765 阅读 · 0 评论 -
02.Spring Ioc 容器 - 创建
基本概念Spring Ioc 容器负责 Bean 创建、以及其生命周期的管理等。想要使用 Ioc 容器的前提是创建容器。那么如何创建 Spring 的 Ioc 容器呢。这里以 Application 为例,介绍下在普通的应用程序中如何创建 Spring 的 Ioc 容器:public static void main(String [ ] args) { // 指定配置文件 Stri原创 2016-09-27 21:30:18 · 1475 阅读 · 0 评论 -
04.Spring Ioc 容器 - 刷新
基本概念Spring Ioc 容器被创建之后,接下来就是它的初始化过程了。该过程在 ConfigurableApplicationContext 的 refresh 方法中定义。该接口的继承关系如下:由于这里 Spring 的配置文件默认采用 xml 形式,所以 Ioc 容器为 XmlWebApplicationContext。接下来就以该类的 refresh 方法为入口,探究下 Ioc 容器的初始原创 2016-09-27 23:19:23 · 1898 阅读 · 0 评论 -
05.Spring 资源加载 - Resource
基本概念Spring 的 Resource 接口代表底层外部资源,提供了对底层外部资源的一致性访问接口。利用该接口可以表示不同形式(类型)的资源。InputStreamSource 接口public interface InputStreamSource { // 表示任意形式的资源都可以被转换成输入流 InputStream getInputStream() throws IO原创 2016-09-13 23:04:48 · 2680 阅读 · 0 评论 -
06.Spring 资源加载 - ResourceLoader
基本概念ResourceLoader 接口,在 Spring 中用于加载资源,通过它可以获取的一个 Resouce 对象。下面来看它的定义:public interface ResourceLoader { // 从 classpath 加载资源时的前缀 String CLASSPATH_URL_PREFIX = ResourceUtils.CLASSPATH_URL_PREFIX;原创 2016-09-18 15:02:49 · 1115 阅读 · 0 评论 -
07.Spring Bean 加载 - BeanDefinitionReader
基本概念BeanDefinitionReader ,该接口的作用就是加载 Bean。在 Spring 中,Bean 一般来说都在配置文件中定义。而在配置的路径由在 web.xml 中定义。所以加载 Bean 的步骤大致就是:加载资源,通过配置文件的路径(Location)加载配置文件(Resource)解析资源,通过解析配置文件的内容得到 Bean。下面来看它的接口定义:public inte原创 2016-09-22 22:12:51 · 6150 阅读 · 4 评论 -
09.Spring Bean 注册 - BeanDefinitionRegistry
基本概念BeanDefinitionRegistry ,该类的作用主要是向注册表中注册 BeanDefinition 实例,完成 注册的过程。它的接口定义如下:public interface BeanDefinitionRegistry extends AliasRegistry { // 关键 -> 往注册表中注册一个新的 BeanDefinition 实例 void regi原创 2016-09-26 11:43:02 · 6704 阅读 · 0 评论 -
08.Spring Bean 解析 - BeanDefinitionDocumentReader
基本概念BeanDefinitionDocumentReader ,该类的作用有两个,完成 BeanDefinition 的解析和注册 。解析:其实是解析 Ddocument 的内容并将其添加到 BeanDefinition 实例的过程。注册:就是将 BeanDefinition 添加进 BeanDefinitionHolder 的过程,这样做的目的是保存它的信息。下面来看它的接口定义,该接原创 2016-09-26 11:24:16 · 2620 阅读 · 0 评论