一、靜態工廠方法獲取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