标签:
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的方法可以有多个
Spring Instantiation with a factory method
标签:
原文地址:http://my.oschina.net/u/867830/blog/408179