Bean的Scope
- Singleton:一个Spring容器中只有一个Bean的实例,此为Spring的默认配置,全容器共享一个实例
- Prototype:每次调用新建一个Bean的实例
- Request:Web项目中,给每一个http request新建一个Bean实例
- Session:Web项目中,给每一个http session新建一个Bean实例
- GlobalSession:只在portal应用中有用,给每一个global http session新建一个Bean实例
Spring EL 和资源调节
Spring主要在注解@Value的参数中使用表达式:
- 注入普通字符串
- 注入操作系统属性
- 注入表达式运算结果
- 注入其他Bean的属性
- 注入文件内容
- 注入网址内容
- 注入属性文件
Bean的初始化和销毁
在Bean使用之前或者之后要做些必要的操作,Spring对Bean的生命周期的操作提供了支持
- Java配置方式:使用@Bean的initMethod和destoryMethod(相当于xml配置的init-method和destory-method)
- 注解方式:利用JSR-250的@PostConstruct和@PreDestory
多线程
使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor
在配置类中通过@EnableAsync开启对异步任务的支持,并通过在执行方法中使用@Async注解赖声明为异步任务
计划任务
首先在配置类注解@EnableScheduling来开启对计划任务的支持,然后在执行计划任务的方法上注解@Scheduled,声明为计划任务
@Scheduled支持多种类型的计划任务,包含cron、fixDelay、fixRate等等
网友评论