这期内容当中小编将会给大家带来有关通过工厂模式实现返回Spring Bean,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
工厂返回的可以是一个具体的对象,比如造一辆车,可以返回一个自行车对象,或者汽车对象。
但是在春天中需要工厂返回一个具体的服务,这就是一个抽象工厂了
一种方法是反射,个人觉得这种方式不好。
还有一种方法是巧妙的使用地图对象,工厂的一个优点就是可扩展,对于这种方式可以说是体现的淋漓尽致了,可以定义多个地图,地图里也可以扩充
假设现在有一个接口类:BingService
以及实现了这个接口的两个实现类:>进口java.util.Map; 公开课BingServiceFactory {//地图中的价值是ServiceBean 私人Map<字符串,BingService>serviceMap;//返回对应的服务 公共BingService getBingService (String平台){ 返回serviceMap.get(平台); } 公共Map<字符串,BingService>getServiceMap () { 返回serviceMap; } 公共空间setServiceMap (Map<字符串,BingService>serviceMap) { 这一点。serviceMap=serviceMap; } }
2,是用注解方式,配置工厂,同时使用设置注入的方法,给用到工厂的bean来设置一下
进口org.springframework.context.annotation.Bean; 进口org.springframework.context.annotation.Configuration; 进口javax.annotation.Resource; 进口java.util.HashMap; 进口java.util.Map; @ configuration 公开课BingConfiguration { @ 私人>进口org.springframework.stereotype.Component; @ component 公开课TestServiceImpl { 私人BingServiceFactory工厂; 公共空白测试(){ BingService服务=factory.getBingService(“人); } 公共BingServiceFactory getFactory () { 返回工厂; } 公共空间setFactory (BingServiceFactory工厂){ 这一点。工厂=工厂; } }
上述就是小编为大家分享的通过工厂模式实现返回了Spring Bean,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。