spring学习五:初始化方法,销毁方法、单例与延迟加载

public class ExampleBean {

	public ExampleBean() {
		System.out.println("ExampleDean()");
	}

}
public class MessageBean {

	public MessageBean() {
		System.out.println("MessageBean()");
	}
	public void init() {
		System.out.println("init()");
	}
	public void sendMsg() {
		System.out.println("sendMsg()");
	}
	public void destroy() {
		System.out.println("destroy()");
	}
}
public class ScopeBean {

	public ScopeBean() {
		System.out.println("ScopeBean()");
	}

}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
	<!-- 
		scope:范围
		scope是用来设置作用域:
		缺省值是singleton(单例)
		如果值是prototype(原型),则容器会创建多个实例
	 -->
	<bean id="eb1" class="basic.ExampleBean" scope="prototype"/>
	<!-- 
		初始化方法:容器创建对象后就立刻自动执行的方法
		init-method:指定初始化方法名
		destroy-method:指定销毁方法名
		注意:只有scope为singleton时,销毁方法才会执行
			scope为prototype时,销毁方法不会执行
	 -->
	<bean id="mb1" class="basic.MessageBean" init-method="init" destroy-method="destroy" scope="singleton"/>
	<!-- lazy-init:如果值是true,表示延迟加载 ,其默认值是false,不延迟加载-->
	<bean id="sb1" class="basic.ScopeBean" lazy-init="true"/>
</beans>

猜你喜欢

转载自blog.csdn.net/wqh0830/article/details/86634799