Spring的配置文件
用于配置对象交由spring创建,默认情况是调用类的无参构造函数,如果没有则创建不成功。
bean基本属性
id:在spring容器中的唯一标识
class:bean的全包名.类名
Bean的范围:
取值范围 | 说明 |
sington | 默认,单例 |
prototype | 多例 |
request | web项目,创建对象访问request |
session | web项目,创建对象放入seesion |
global | web项目, |
说明:
1)当scopesingleton的取值为时
Bean的实例化个数:1个
Bean的实例化 Spring时机当核文件被加时,实例化配置的Bea
ean的生命期
对象创建当应用加容时,对象就被创建了
对象运行只整在,对一直活
对象销毁当应用,容器时,对象就被销了
2)当 iscopeprototype的取值为时
Bean的实例化个数多个
Bean的实例化时机:当调用 get Beand方法时实化Bea
对象当使用对象时,印的对象实
对象运行只要灯在使用中,一直
对象对象长时间不用时被JVM回收了
生命周期:
init-method:初始化方法
destory-method:类的销毁方法
public class UserDaoImpl implements UserDao {
public UserDaoImpl(){
System.out.println("类的构造函数");
}
public void add() {
System.out.println("新增用户");
}
public void init(){
System.out.println("类的初始化方法");
}
public void destroy(){
System.out.println("类的销毁");
}
}
<bean id="userDao" class="com.spring.dao.impl.UserDaoImpl" init-method="init" destroy-method="destroy"></bean>
Bean的实例化三种方式
1.构造函数
<bean id="userDao" class="com.spring.dao.impl.UserDaoImpl"></bean>
2.工厂静态方法
public class UserFactory {
public static UserDao getUserDao(){
return new UserDaoImpl();
}
}
<bean id="userDao" class="com.spring.factory.UserFactory" factory-method="getUserDao"/>
3。工厂实例方法
/***
*
*author:liutf
*date:2022/4/3-1:42
**/
public class UserFactroyBean {
public UserDao getUserDao(){
return new UserDaoImpl();
}
}
<bean id="userFactoryBean" class="com.spring.factory.UserFactroyBean"/>
<bean id="userDao" factory-bean="userFactoryBean" factory-method="getUserDao"/>
spring注入
构造函数注入
set注入