context.xml中
<!-- 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"/>
DefaultServiceLocator.java
public class DefaultServiceLocator {
private static ClientService clientService = new ClientServiceImpl();
private DefaultServiceLocator() {}
public ClientService createClientServiceInstance() {
return clientService;
}
}
这里我们可以使用普通的bean创建。那么我们更喜欢这种静态工厂方法和正常的bean创建?
答案 0 :(得分:1)
当构造函数无法完成工作时,通常使用工厂方法:
Executors.newSingleThreadExecutor()
。请注意,现代Spring应用程序不应使用XML来创建此类bean。他们应该使用Configuration类,包含创建bean的@Bean注释方法。