7 bean的作用域
<bean id="tea1" class="com.zhiyou100.test02.Teacher" scope="singleton">
<property name="tid" value="1"/>
<property name="tname" value="高老师"/>
<property name="tsex" value="女"/>
</bean>
<bean id="tea2" class="com.zhiyou100.test02.Teacher" scope="prototype">
<property name="tid" value="2"/>
<property name="tname" value="高老师"/>
<property name="tsex" value="女"/>
</bean>
8 bean的懒加载
<bean id="tea1" class="com.zhiyou100.test02.Teacher" scope="singleton">
<property name="tid" value="1"/>
<property name="tname" value="高老师"/>
<property name="tsex" value="女"/>
</bean>
<bean id="tea2" class="com.zhiyou100.test02.Teacher" scope="singleton" lazy-init="true">
<property name="tid" value="2"/>
<property name="tname" value="高老师"/>
<property name="tsex" value="女"/>
</bean>
9 工厂模式
工厂模式:a对象的创建 交给b工厂对象的方法来实现
9.1 静态工厂模式::工厂对象的方法是静态方法
public class TeacherFactoryStatic {
public static Teacher getInstance(){
return new Teacher(1001, "韩雪", "女");
}
}
<bean id="tea1" class="com.zhiyou100.test02.TeacherFactoryStatic" factory-method="getInstance" />
9.2 实例工厂模式::工厂对象的方法是实例方法
public class TeacherFactoryInstance {
public Teacher getInstance(){
return new Teacher(1001, "韩雪", "女");
}
}
- 配置文件中先创建工厂bean 在提供工厂bean的实例方法获取对象
<bean id="factory" class="com.zhiyou100.test02.TeacherFactoryInstance" />
<bean id="tea2" class="com.zhiyou100.test02.Teacher" factory-bean="factory" factory-method="getInstance" />
10 bean的生命周期
10.1 更改实体类:添加方法
package com.zhiyou100.test02;
import java.io.Serializable;
public class Teacher implements Serializable{
....
public void methodInit(){
System.out.println("初始化方法:::public void methodInit()");
}
public void methodDestroy(){
System.out.println("销毁方法:::public void methodDestroy()");
}
}
10.2 在核心配置文件中 通过属性init-method和destroy-method 指定初始化方法和销毁方法
<bean id="tea1" class="com.zhiyou100.test02.Teacher" init-method="methodInit" destroy-method="methodDestroy">
<property name="tid" value="1"/>
<property name="tname" value="高老师"/>
<property name="tsex" value="女"/>
</bean>
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0d1ffb63aab36295dfb851cb4c254453.png)