一、静态工厂方法获取beanjava
<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; } }
二、工厂实例非静态方法ui
<!-- 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的方法能够有多个this