|
2017-08-14 19:00:14
Spring3开发实战-独家视频教程-视频教程学习笔记 浏览(7744)|评论(3) 交流分类:学习问题讨论|笔记分类: 课程问题
IoC/DI的配置使用,第四部分,ApplicationContext实现国际化 视频教程学习笔记
视频课程地址:Spring3开发实战-独家视频教程 当前播放的视频地址:IoC/DI的配置使用,第四部分,ApplicationContext实现国际化 1.当只创建容器时,每次创建一个容器会初始化。(是Singleton单例) 2.对于Prototype作用域,每次使用时都会重新创建新实例,创建容器的时候是不会初始化的。 对于有状态的bean使用prototype,对于无状态的使用Singleton 若scope=singleton,lazy-init = true,只是延迟实例化(若之前有需要就还是会提前的),但还是单例。 1.方法注入 比如在调用一个singleton类型beanA的某个方法,需要引用另一个非singleton类型的bean B,对于bean A来说,容器只会创建一次,这样就没办法在需要的时候每次让容器bean A 创建新的bean B实例,通过配置为该接口提供动态的实现. lookup方法注入:适用范围:一般用在想一个singleton的对象里面,注入非singleton的对象. Lookup方法注入的内部机制是Spring利用了CGLIB库在运行时生成二进制代码功能,通过动态创建Lookup方法bean的子类而达到复写Lookup方法的目的. IoC/DI的配置使用,第四部分,ApplicationContext实现国际化 笔记 由于方法注入时,Spring需要利用CGLib类包,所以需要将CGLib类包加入到类路径中,否则无法使用方法注入的功能. 2.LifeCycle生命周期 (1)指的是对象实例的生命周期 (2)我们不能控制这些生命周期 (3)学的是生命周期的回调方法,应用这些方法,我们可以在生命周期事件发生的时候添加额外的操作. 2.1初始化回调 有两种方法,如下: (1)实现org.springframework.beans.factory.InitiallizingBean接口,覆盖方法(afterPropertiesSet),这种方法不推荐 (2)在Bean中定义一个普通的初始化方法,即在XML配置文件中指定init-method属性来完成,配置如下: /* Bean的初始化顺序: 1:初始化类实例 1.1:到构造方法,暂时不执行 1.2:初始化属性 1.3:执行构造方法 2:setter注入需要的资源,按照配置的先后顺序 3:回调afterPropertiesSet */ 2.2 析构回调 也有两种方法,如下: (1)实现org.springframework.beans.factory.DisposableBean接口,不被推荐,会和Spring耦合. (2)在Bean中定义一个普通的初始化方法,即在XML配置文件中指定destory-method属性来完成,配置如下: 2.3缺省的初始化和析构,配置在beans上,这样就不用每个bean都配了 3.ApplicationContext国际化 context包的核心是ApplicationContext接口,它由BeanFactory接口派生而来,提高了BeanFactory所有的功能,还提供了以下的功能: 1:MessageSource,提供国际化的消息访问 2:资源访问,如URL和文件 3:事件传播,实现了ApplicationListener接口的bean 4:载入多个(有继承关系)上下文,使得每一个上下文都专注于一个特定的层次,如:应用的web层. /*properties文件的格式就是A=2,一行一对*/ AOP开发,@AspectJ风格的注解,第一部分 笔记 @注解==>目的:减少xml配置,但是不管使用注解,还是使用xml配置,表达的内容都是一样,只是形式不一样. Spring中的切入点表达式中使用如下的AspectJ切入点指定者 execution:(最主要的) within this target args @target:限定匹配特定的连接点 @args @within @annotation 合并切入点表达式 Spring的表达式语言SpringEL,第一部分 笔记 SpEL是单独模块,只依赖于core模块,不依赖于其他模块,可单独使用. EL特点:写法简单,功能比较强大,是指常见的功能,语义可能不是很严格.表达式语言给静态Java语言增加了动态功能. 静态:在运行之前,整个运行过程就是编译好了的,在运行的时候,只能按照已有的东西来运行. 动态:在运行的时候,可以动态地为程序增加、修改功能. SpEL支持如下表达式: 使用过程中:首先构造上下文,创建解析器,解析表达式,设置上下文中的变量的值,执行表达式并获取运行结果. SpEL的基本概念: 表达式:需要做什么 解析器:将字符串表达式解析为表达式对象 上下文:表达式对象执行的环境 在上下文环境里面,由解析器解析出来的表达式对象,来运行我们的表达式. SpEL的基本运行原理:首先表达式是字符串,SpEL会扫描读取字符串,解析器会进行词法分析,语法分析,生成表达式对象,需要构造上下文对象EvaluationContext,使用表达式对象根据上下文求值,生成结果. SpEL的主要接口 1:ExpressionParser接口 2:Expression接口 3:EvaluationContext上下文 精品视频课程推荐
Java数据结构和算法精讲版
研磨设计模式——跟着cc学设计系列视频教程
ssh+jbpm项目(某集团OA)视频教程
深入浅出学Spring Web MVC视频教程
深入浅出学Spring Data JPA视频教程
评论(3)
请登录后评论 登录
|