随笔分类 -  spring-ioc

xml,注解,javaconfig的介绍到了,大体上常用的知识都有涉及.还有问题,查询文档才是正道.
摘要:一 . 概述 在这里我们不去说事件机制的好处还有一个基础概念性的问题,我们专注于spring的容器事件的问题. 使用事件机制,我们可以完成异步的方法调用,另外使用线程的机制,我们还可以获得并发的好处. 二 .容器事件的开始 我们看一下spring源码之中是如何发布容器事件的. 在refresh()方 阅读全文
posted @ 2018-05-27 10:19 最爱五仁月饼 阅读(149) 评论(0) 推荐(0)
摘要:一 . 概述 在之前我们说过@Conditional注解可以帮助我们实现条件的Bean的注册,但有时候却不是很方便. 如我们在生产和测试环境是不同的,因此我们需要一个能够根据环境注入Bean的方式. @Profile注解就能帮助我们实现这个功能. 二 . 测试 配置类: 我们在test环境下会注入一 阅读全文
posted @ 2018-05-27 00:24 最爱五仁月饼 阅读(154) 评论(0) 推荐(0)
摘要:一 .概述 在前面我们说到,我们获取属性值的最大途径就是从外部的配置文件之中获取. spring为我们提供了@PropertySoruce注解完成属性文件的属性值的获取. 二 .测试 [1] 创建一个配置文件 [2]配置类 我们使用${}的方式将配置文件的属性注入到配置类之中. 测试类: 就是那么简 阅读全文
posted @ 2018-05-27 00:23 最爱五仁月饼 阅读(149) 评论(0) 推荐(0)
摘要:一 . 概述 在spring之中,对属性进行赋值是一个很常用的行为,我们常常将这些属性配置到我们的配置文件之中. 首先,我们完成对组件的属性的赋值. 二 . 测试 我们使用@Value注解注入了一个属性值. 测试类: 其实,在@Value注解中常用的方式有三种: [1]常量 [2]spel [3]运 阅读全文
posted @ 2018-05-27 00:22 最爱五仁月饼 阅读(159) 评论(0) 推荐(0)
摘要:一 .概述 Bean的生命周期就是指,Bean的创建,初始化,销毁的整个过程. spring帮助我们实现整个过程,但是提供了很多的回调接口,我们 可以自己定义这些方法. 二 . 使用 init-method 来实现. 组件: 配置类: 我们使用@Bean注解的使用完成指定初始化和销毁方法. 测试类: 阅读全文
posted @ 2018-05-27 00:20 最爱五仁月饼 阅读(152) 评论(0) 推荐(0)
摘要:一 . 概述 在之前我们使用@Bean或者组件扫描器加上组件标记注解向容器中注册组件. 在spring之中,也提供了另外一种方式帮助我们注册组件. 这个组件就是@Import的方式, 使用这种方式的原因就是我们希望在一定程度上可以控制如何注入Bean. 二 .注解的测试 组件类: 配置类: 测试类: 阅读全文
posted @ 2018-05-27 00:18 最爱五仁月饼 阅读(515) 评论(0) 推荐(0)
摘要:一 .概述 在spring之中提供@Conditional注解完成条件注入. 我们可以实现特定的接口,完成配置类可以根据条件进行Bean的创建. 二 .测试 配置类: 两个条件类: 只有当当前的操作系统为windows时,才会注入该bean. 测试: 结果返回为window,说明在当前的操作系统中只 阅读全文
posted @ 2018-05-27 00:17 最爱五仁月饼 阅读(694) 评论(0) 推荐(0)
摘要:一 .概述 我们知道单实例Bean在spring的IOC容器之中,单实例Bean会在容器启动之后进行创建. 我们可以使用@Lazy完成懒加载,这样可以在初次获取Bean的时候才会创建Bean. 二 .测试 测试: 我们创建完IOC容器之后,线程休眠3秒,然后我们从IOC中获取对象,我们发现此时 才真 阅读全文
posted @ 2018-05-27 00:16 最爱五仁月饼 阅读(124) 评论(0) 推荐(0)
摘要:一 .概述 在spring之中常用的Bean的生命周期常见的有单例模型和多例模型. 我们可以使用@Scope完成声明. 二 .@Scope [1]创建组件 [2]创建配置类 [3] 测试类 查看运行结果: 我们通过结果就知道Bean的Scope了. 三 . scope的默认情况 在IOC容器之中(A 阅读全文
posted @ 2018-05-27 00:15 最爱五仁月饼 阅读(120) 评论(0) 推荐(0)
摘要:一 .概述 在之前我们使用spring时,最常用的就是组件扫描器配合Bean标记注解整体进行Bean的注册. xml形式: 我们配置基础包,spring会帮助我们将基础包下所有的类进行扫描,一旦发现有类被标记上了一下四个注解就会进行注册. [1]@Controller [2]@Service [3] 阅读全文
posted @ 2018-05-27 00:13 最爱五仁月饼 阅读(208) 评论(0) 推荐(0)
摘要:一. 概述 @Configuration 注解标记在类上,就像之前我们声明的一个spring的xml配置文件,该类我们称为配置类. @Bean 标记在方法之上,方法的返回值为向springIOC容器之中注入一个Bean. 其中,返回值相当于xml文件bean标签的class属性,方法的名称相当于id 阅读全文
posted @ 2018-05-27 00:11 最爱五仁月饼 阅读(3098) 评论(1) 推荐(0)
摘要:一 . 概述 在spring3.x之中提出了spel的方式,其目的就是在静态语言之中增加动态语言的能力. 实际上我们可以和IOC容器实现一些特别的功能. 二 . 简单的演示 三 . 介绍 我们在这里不对spel的基本语法进行一些列的介绍,因为这个根本没有意思. 我们最感兴趣还是对反射的支持. 在这里 阅读全文
posted @ 2018-05-27 00:09 最爱五仁月饼 阅读(172) 评论(0) 推荐(0)
摘要:一. 概述 在ApplicaitonContext之中,我们 介绍过ApplicationContext实现了MessageSource接口,也就是说我们使用的IOC容器也是具有国际化的功能. 我们看一下IOC创建的流程代码. 我们看到了在IOC容器创建的过程中有一步就是初始化国际信息. 我们进入看 阅读全文
posted @ 2018-05-26 10:52 最爱五仁月饼 阅读(103) 评论(0) 推荐(0)
摘要:一 . 概述 在我们的应用之中存在大量的Bean需要属性文件的注入才能使用,因此spring提供了一个通用的方案帮助实现属性文件的注入. 在这里我们只需要使用context命名空间的标签就能完成这个任务,这也是最为常用的一种方案. 二 .演示 我们在classpath之中定义一个属性文件,aa.pr 阅读全文
posted @ 2018-05-26 10:12 最爱五仁月饼 阅读(111) 评论(0) 推荐(0)
摘要:一 . 概述 在前面我们说过spring为我们提供了各种初始化时的回调方式,对于我们来说最为重要的就是BeanPostProcessor这个接口. 二 .BeanPostProcessor 上面的方法会在初始化过程的前面执行. 我们看下参数,一个是Bean对象,另外一个就是Bean的名字. 三 .演 阅读全文
posted @ 2018-05-25 22:53 最爱五仁月饼 阅读(154) 评论(0) 推荐(0)
摘要:一 . 概述 在spring之中,如果我们想要让我们的Bean之中拥有spring的组件,那么我们就可以使用aware接口帮助我们完成. 二 .aware接口 我们可以看到这是一个标记接口,在spring之中表示需要注入一个spring组件到具体的Bean之中. 如果一个Bean实现了一个具体的Aw 阅读全文
posted @ 2018-05-25 22:14 最爱五仁月饼 阅读(149) 评论(0) 推荐(0)
摘要:一 . 概述 在前面我们说到了Bean创建的一般情况,下面我们说下spring最重要的概念--依赖注入. 依赖: 一般概念上的各种资源(文件,字符串,对象). 通过注入的方式(容器实现)配置到指定的对象之中,整个都是由容器完成的. 二 . 依赖注入的实现 在spring之中有两种方式: [1]设值注 阅读全文
posted @ 2018-05-25 22:06 最爱五仁月饼 阅读(95) 评论(0) 推荐(0)
摘要:一. 概述 在之前我们说过Bean的创建和初始化在spring之中分得很清楚. 之所以是这样的原因,spring为我们提供了自定义Bean的控制. 二 .配置实现初始化和销毁的控制 我们创建了一个User类,除了构造函数之外,我们还提供了两个方法. 配置文件: 测试代码: 运行结果: 我们发现执行的 阅读全文
posted @ 2018-05-25 21:52 最爱五仁月饼 阅读(199) 评论(0) 推荐(0)
摘要:一 .概述 在前面我们提到了一个作用域的概念.那么什么是作用域呢? 二 .作用域 在spring为了描述Bean的生命周期提出了作用域的概念. 常见的作用域有: [1]Singleton : 业务单例 [2]prototype : 业务多例 [3]request : web下的请求范围 [4]ses 阅读全文
posted @ 2018-05-25 21:43 最爱五仁月饼 阅读(114) 评论(0) 推荐(0)
摘要:一 . 概述 在前面,我们看到了IOC容器的一般使用,但是有一点需要我们注意,spring通过上面能力将各种配置文件读取到的呢? 二 .资源访问 资源存在的地点很多,也就造成了资源的使用方式很不同.在使用资源之前,我们首先需要获取资源. spring将资源定义为Resource. 其中Reource 阅读全文
posted @ 2018-05-25 21:37 最爱五仁月饼 阅读(110) 评论(0) 推荐(0)