Bean的常见配置
Scope作用范围
是可以通过 bean 标签的 scope
属性来进行指定的。其取值可以是:
- singleton : 单例【默认值】。表示此对象在Spring容器中仅会存在唯一的一个实例。
- prototype : 每实例。表示从容器中取出对象时,总会创建一个新的对象出来。
- request (web环境下): 同一个请求中,拿到的bean是同一个。 【实际开发中放入请求域】
- session(web环境下): 同一个会话中,拿到的bean是同一个。【实际开发中放入session域】
- globalSession(portlet环境下):
其它特点:
- 当bean的范围是 singleton 时, 此bean的对象是在Spring容器启动时创建出来。
- 当bean的范围是 prototype时 ,是从容器中获取时才会创建bean的实例。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u9nsn9Vn-1600046624880)(imges/image-20200825114753427.png)]
生命周期方法的配置
- 形式都是无参的方法。
- 通过bean标签的 init-method 和 destroy-method 属性来分别指定方法名。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ushxmzB6-1600046624882)(imges/image-20200825114818271.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6xsKrQ7P-1600046624883)(imges/image-20200825115123404.png)]
另外,也可以通过注解的形式来指定。【了解】
@PostConstruct //java标准的注解
public void pre(){
System.out.println("我把pre方法作为我的初始化方法....");
}
@PreDestroy
public void post(){
System.out.println("我把post方法作为我的销毁方法.....");
}
// @P