Spring Instantiation with a factory method

Spring Init A Bean with Factory 


1、静态工厂方法获取bean

       

<bean id="clientService" class="examples.ClientService" factory-method=    "createInstance"/>
 public class ClientService {
            private static ClientService clientService = new ClientService();
            private ClientService() {}
            public static ClientService createInstance() {
            return clientService;
            }
        }


2、工厂实例非静态方法

   

<!-- the factory bean, which contains a method called createInstance() -->
<bean id="serviceLocator" class="examples.DefaultServiceLocator">
<!-- inject any dependencies required by this locator bean -->
</bean>
<!-- the bean to be created via the factory bean -->
<bean id="clientService" factory-bean="serviceLocator" factory-method="createClientServiceInstance"/>

<bean id="clientService2" factory-bean="serviceLocator" factory-method="createClientServiceInstance2"/>
public class DefaultServiceLocator {
    private static ClientService clientService = new ClientServiceImpl();
    
    private DefaultServiceLocator() {}
    public ClientService createClientServiceInstance() {
        return clientService;
    }
    public  ClientService createClientServiceInstance2() {
        return clientService;
    }
}


一个工厂的获取bean的方法可以有多个



转载于:https://my.oschina.net/u/867830/blog/408179

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值