有时我们需要创建一些特定功能的bean,该如何做呢?
1.创建实现FactoryBean的工厂
public class ProxyFactoryBean<T> implements FactoryBean<T> {private Class<T> proxyInterface;@Autowiredprivate QrpcProxy qrpcProxy;public ProxyFactoryBean() {}public ProxyFactoryBean(Class<T> proxyInterface) {this.proxyInterface = proxyInterface;}@Overridepublic T getObject() {return qrpcProxy.create(proxyInterface);}@Overridepublic Class<?> getObjectType() {return this.proxyInterface;}@Overridepublic boolean isSingleton() {return true;}}
2.在xml配置bean
<bean id="testService" class="com.qrpc.server.utils.ProxyFactoryBean"><constructor-arg value="com.qrpc.api.facade.TestService"/></bean>
3.使用
@RestControllerpublic class TestController {@Autowiredprivate TestService testService;@GetMapping(BASE_GETSTRING)public String getString() {return testService.getString();}}
