第2章 Spring常用配置
2018-12-05 本文已影响0人
意大利大炮
Bean中的Scope
- Scope是描述Spring如何创建Bean实例的。spring的Scope有以下几种:
- Singleton:一个Spring容器只有一个Bean实例,为Spring的默认配置
- Session:Web项目中,每一个http session一个Bean实例
- Request:Web项目中,每一个http request请求新建一个实例
- Prototype:每次调用新建一个Bean的实例
- GlobalSession:只在portal应用中有用,每一个global http session新建一个实例
Spring EL 和资源调用
- Spring EL-Spring表达式语言,支持在xml和注解中使用表达式,类似于JSP的EL表达式语言
- 一般可以使用@Value注解中的参数,实现注入普通文件、网址、配置文件、系统环境变量等等
Bean的初始化和销毁
- Spring对Bean的生命周期的操作提供了支持,有Java配置和注解配置下的两种方式:
- Java配置方式,使用@bean的initMethod和destoryMethod(相当于xml配置的init-method和destory-method)
- 注解方式:利用JSR-250的@PostConstruct和@PreDestory
Profile
- Profile为不同的环境下使用不同的配置提供了支持
- 可以通过设定Environment的ActiveProfiles来设置当前context所需要的环境配置,开发中使用@Profile注解类或方法,达到不同环境下实例化不同的bean
- 也可以通过设置jvm的spring.profiles.active参数来设置配置环境
事件(Application Event )
- Spring的事件为Bean与Bean之间的通信提供了支持,当一个Bean处理完一个任务之后,希望另外一个Bean知道并能做相应的处理,这时我们需要用到事件
- Spring的事件需要遵循以下流程
- 自定义一个事件,继承ApplicationEvent
- 自定义事件监听器,实现ApplicationListenter
- 使用容器发布事件,使用ApplicationContext的publishEvent方法来发布