设置scope作用域的取值
singleton:默认创建单例对象
prototype:创建非单例对象
request:创建对象后默认执行该操作request.setattribute("beanid","beanobj")
session:创建对象后默认执行该操作session.setattribute("beanid","beanobj")
singleton:默认创建单例对象
prototype:创建非单例对象
request:创建对象后默认执行该操作request.setattribute("beanid","beanobj")
session:创建对象后默认执行该操作session.setattribute("beanid","beanobj")
全局session
bean的生命周期:
初始化时会先加载构造方法:
初始化与消亡:
java代码:
public class Bean5 {
public void init() {
System.out.println("init");
}
public void destroy() {
System.out.println("destroy");
}
public void fn() {
System.out.println("fn..");
}
}
xml的代码
<!--bean的生命周期 -->
<bean class="com.array.ioc.bean.xml.lifescope.Bean5"
id="bean5" init-method="init"
destroy-method="destroy"
scope="prototype"></bean>
init-method="init":设置bean初始化对象的回调方法
destroy-method="destroy":设置bean销毁对象的回调方法,只能用于单例方法才可以销毁
测试方法:
public static void main(String[] args) {
ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext1.xml");
Bean5 bean5 = (Bean5) act.getBean("bean5");
//关闭容器
((AbstractApplicationContext) act).close();
System.out.println("========================");
}