Spring框架Bean元素的属性概述与三种对象创建方式

Spring配置详解

Bean元素

使用该元素描述需要Spring容器管理的对象

name&id属性

别名,给被管理的对象起个名字,获得对象时根据该名称获得对象
name名称可以重复,也可以使用特殊字符
id名字不可以重复不可以使用特殊字符

class属性

被管理对象的完整类名

<bean name = "user" class = "bean.User"></bean>	

如上述代码所示

factory-method属性

在静态/动态工厂方式下,用此标签来指定用哪一个方法来创建对象

factory-bean属性

在动态工厂方式下,用此标签来指定从哪一个类中寻找方法来创建对象

<bean id="" name = "user3" factory-bean="userFactory" factory-method="createUser2"></bean>
<bean id="" name = "userFactory" class = "test.UserFactory"></bean>

如上述代码所示,先将用到的类放入容器中,再用factory-bean在容器中寻找这个类,再调用相应的实例化方法

scope属性

此属性有四个值:singleton(默认),prototype,request,session

  • singleton
    单例对象,被标识为单例的对象在Spring容器中只会存在一个实例

  • prototype
    多例原型,被标识为多例的对象,每次再获得才会创建,每次创建都是新的对象

  • request
    web环境下,对象与request生命周期一致

  • session
    web环境下,对象与session生命周期一致

生命周期属性init-method&destroy-method

每一个对象在创建开始时会调用初始化方法,销毁时会调用运行后方法

<bean id="" name = "user" class = "bean.User" init-method="init" destroy-method="destroy"></bean> 

在实体类中实现与配置文件同名的初始化与销毁方法

三种对象创建方式

  • 空参构造方式

由Spring自动创建对象

<bean id="" name = "user" class = "bean.User"></bean>
  • 静态工厂方式

由用户手动编写一个创建类,Spring框架调用此创建类进行创建
工厂类

	public class UserFactory {
		public static User createUser() {	
			System.out.println("success!");
			return new User();	
		}
	}

配置文件

<!-- 2.静态工厂-->
<bean id="" name = "user2"
 class = "test.UserFactory" 
factory-method="createUser">
</bean>
  • 实例工厂方式

工厂类

public User createUser2(){
	System.out.println("the dio success!");
	return new User();
	
}

配置文件

<!-- 2.动态工厂-->
<bean id="" name = "user3" factory-bean="userFactory" factory-method="createUser2"></bean>
<bean id="" name = "userFactory" class = "test.UserFactory"></bean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值