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>