Spring三种实例化Bean的方式

 第一种方法:直接配置Bean

<bena id="所需要实例化的一个实例名称" class="包名.类名"/>

 

例如:

配置文件中的bean.XML代码:

 

<bean id="userA" class="com.test.User"/>
package com.test

public class User{
    public void test(){
        System.out.println("HelloWorld");
    }
}

 

第二种方法:简单工厂创建Bean

<bena id="所需要实例化的一个实例名称" class="包名.类名" factory-mathod="该类创建实例的方法名"/>

 

通过使用简单工厂的静态方法进行创建:

例如:

<bean id="userA" class="com.test.MyFactory" factory-mathod="getInstance"/>

 

package com.test

public class MyFactory{
     public static User getInstance(){
           return new User();
     }
}

 

第三种方法:抽象工厂方法创建Bean

<bena id="所需要实例化的一个工厂实例名称" class="包名.工厂类类名"/>
<bean id="所需要创建的实例名" factory-bean="用来创建实例的工厂实例名" factory-mathod="工厂实例中用于创建实例的方法名"/>

 

这种方法要先创建工厂实例,再通过调用工厂实例的方法来创建所需要的实例。

例如:

<bean id="userFactory" class="com.test.CreateFactory"/>
<bean id="userA" factory-bean="userFactory" factory-mathod="getInstance"/>

 

package com.test

public class CreateFactory{
     public User getIntance(){
           return new User();
     }
}

 

在大多数情况下我们用的都是第一种方式,另外要注意的是:如果实例名存在特殊字符("/"等字符),那么就不能用id来标识实例名,

而要用name属性来标识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值