Spring Bean
- id 属性,Bean起的名字,在约束中采用ID的约束,唯一,取值要求:必须以字母开始,可以使用字母、数字、连字符、下划线、句号、冒号,但是不能出现特殊字符。
- class属性,Bean对象的全路径。
- scope属性,Bean的作用范围。
- singleon 单例(默认值),最常用的方式。
- prototype 多例
- request 应用在web项目中,每次HTTP请求都会创建一个新的Bean
- session应用在web项目中,同一个HTTP Session共享一个Bean
Bean对象的创建和销毁的两个配置
Spring初始化bean或销毁bean时,有时需要做一些处理,因此Spring可以在创建和拆卸bean的时候调用bean的两个生命周期方法:
- init-method,当bean被载入到容器的时候调用此属性指定的方法
- destroy-method,当bean从容器中删除的时候调用此属性指定的方法
实例化Bean对象的三种方式
默认是无参数的构造方法(默认方式,一般用这个)
<bean id=" " class=" " />
静态工厂实例化方式
public class StaticFactory {
// 静态工厂方式
public static UserService createUs(){
System.out.println("通过静态工厂的方式创建UserServiceImpl对象...");
// 编写很多业务逻辑 权限校验
return new UserServiceImpl();
}
}
<bean id="us" class="cn.tx.demo1.StaticFactory" factory-method="createUs" />
实例工厂实例化方式
public class Dfactory {
public UserService createUs(){
System.out.println("实例化工厂的方式...");
return new UserServiceImpl();
}
}
<bean id="dfactory" class="cn.tx.demo1.Dfactory" />
<bean id="us" factory-bean="dfactory" factory-method="createUs" />