spring容器 创建对象

方式一 使用无参构造器

package first;

public class Student {
	public Student() {
		System.out.println("Student()");
	}
}
	<!-- 
		使用无参构造器创建对象
		id属性:bean的名称,要求唯一 
		class属性:类的全限定名
	-->
	<bean id="stu1" class="first.Student"/>

方式二 使用静态工厂方法

	<!-- 
		使用静态工厂方法创建对象
		factory-method属性:指定一个静态方法.
		spring容器会调用静态方法来创建对象
	 -->
	<bean id="cal1" class="java.util.Calendar" factory-method="getInstance">
	</bean>

方式三 使用实例工厂方法

	<bean id="cal1" class="java.util.Calendar" factory-method="getInstance">
	</bean>
	
	<!-- 
		使用实例工厂方法创建对象
		factory-bean属性:指定一个bean的id.
		factory-method属性:指定一个方法
		spring容器会调用bean对应的方法来创建对象
	 -->
	<bean id="time1" factory-bean="cal1" factory-method="getTime">
	</bean>

作用域

<!-- 
		scope属性:配置作用域.
		缺省值:singleton(一个bean值创建一个实例)
		如果值为prototype(原型)(一个bean会创建多个实例)
	 -->
	<bean id="s1" class="scope.ScopeBean" scope="prototype"/>

生命周期及延迟加载

package scope;

public class ExampleBean {

	public ExampleBean() {
		System.out.println("测试()");
	}
	
	public void init(){
		System.out.println("init()");
	}
	
	public void destroy(){
		System.out.println("destroy()");
	}
}
<!-- 
		init-method属性:指定初始化方法
		destroy-method属性:指定销毁方法
		lazy-init属性:指定是否延迟加载,如果值为true,表示延迟加载
-->	
	<bean id="example" class="scope.ExampleBean" init-method="init" lazy-init="false" destroy-method="destroy" scope="singleton"></bean>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值