BeanFactory是Spring IOC容器的重要接口,用于实例化、获取bean实例和bean相关信息,重要的方法有:
Spring IOC实例化bean后会判断该bean是否是FactoryBean的子类,如果是就调用getObject,并将结果返回。
基于FactoryBean我们可以自己实现对象的实例化,实现类似DUBBO中配置远程服务的spring配置,编写一个类实现FactoryBean,该类中包含应用相关的属性、load balance属性、服务类型属性和代理接口的属性,在getObject中通过ProxyFactory返回指定接口的代理实现,在代理实现中可以根据配置的load balance策略和服务类型从注册的服务器提供者中选取一个进行端到端的服务调用,如果服务类型是RMI可以直接使用RMI协议调用,如果是RPC可以使用thrift调用。这样就可以在spring中使用实现的类来代理远程服务了。
原文:http://www.cnblogs.com/lishichang10/p/6389229.html