Spring中bean标签的属性和值:
Spring中bean标签的属性和值:
<bean name="user" class="com.pojo.User" init-method="intMethod" destroy-method="destoryMethod" lazy-init="false" scope="singleton"> <property name="name" value="张三"></property> <property name="address" value="上海"></property> <property name="age" value="25"></property> <property name="car" ref="car"></property> </bean> <bean name="car" class="com.pojo.Car"> <property name="brand" value="大众"></property> <property name="price" value="12"></property> </bean>
id属性:用于指定Bean的名称,在Bean被依赖时使用,在获取Bean时使用等
name属性:用于指定Bean的别名
class属性:用于指定Bean的来源,即创建要创建的Bean的class类(需要全限定名)
init-method属性:用于指定当前Bean的初始化方法,在Bean实例创建好后,首先会调用其指定名称的方法
destory-method属性:用于指定当前Bean的销毁方法,在Bean即将被销毁之前会自动调用该属性指定的方法,bean依赖于容器,容器销毁bean销毁
lazy-init属性:用于指定当前Bean的初始化时间,
若值为true表示在初次调用时才会自动创建实例并初始化,
false表示在IoC容器创建的时候就会完成创建和初始化,默认是false
scope属性:用于指定bean的模式,
singleton:是单例模式,容器只创建一个对象。
prototype:为非单例模式,容器创建多个对象,但容器不会去逐个销毁,默认是单例对象,
request: web项目中spring创建一个bean对象,将对象存到request域中,
session: web项目中将对象存到session域中,
globalSession:web项目中,应用在prolet环境,如果没有prolet环境那么globalSession相当于session
public class User { @Autowired private String name; private String address; private int age; public User() { System.out.println("User无参构造方法..."); } public void intMethod() { System.out.println("User初始化....."); } public void destoryMethod() { System.out.println("User销毁....."); } }