bean
配置文件
ClassPathXmlApplicationContext:只能加载类路径下的配置文件;
FileSystemXmlApplicationContext:可以加载磁盘任意位置的配置文件;
bean创建的两种规则
BeanFactory:提供的是一种延迟加载思想来创建bean的都对象。bean对象什么时候用什么时候创建。
ApplicationContext:提供的是一种立即加载思想来创建bean对象。只要一解析玩配置文件,就立马创建bean对象。
bean的三种创建方式
第一种方式:调用默认无参构造函数创建 此种方式用的最多
默认情况下,如果类中没有默认无参构造函数,则创建失败,会报异常。
第二种方式:是使用静态工厂中的方法创建对象
需要使用bean标签的factory-method属性,指定静态工厂中创建对象的方法。
第三种方法:使用实例工厂中的方法创建。
bean 的作用范围
可以通过配置的方式来调整作用范围。
配置的属性:bean标签的scope属性。
属性的取值:
singleton:单例的(默认值。
prototype:多例的(当我们让spring接管struts2的action创建时,action必须配备此值。
request:作用范围是一次请求,和当前请求的转发。
session:作用范围是一次会话。
globalsession:作用范围是一次全局会话。
bean的生命周期
涉及bean标签的两个属性:
init-method:初始方法
destroy-method:销毁方法
单例:
初始化:容器创建,对象就初始化了;
存活:只要容器在,对象就一直存存在;
销毁:容器销毁,对象就销毁。
多例;
初始化:每次使用对象,对象就初始化了;
存活:只要对象在使用中,就会一直存活;‘
销毁:当对象长时间不使用,并且也没有别的对象引用时,有Java的垃圾回收器回收。