zoukankan      html  css  js  c++  java
  • 静态注入

    一、困惑

       代码如下,我要用 ILookupService 的方法 ,那我在任何一个要使用的类里都要 @Autowired 一下,如果是个类似工具类的方法到处使用那也太麻烦了

    	@Autowired
    	private ILookupService lookupService;
    
    	private List<PfLookup> getNameByCode(String code){
    		Map<String, Object> param = new HashMap<>();
    		param.put("code", code);
    		List<PfLookup> lookups = lookupService.listLookupByCode(param);
    		return lookups;
    	}
    

      

    二、解决办法

       写一个静态工具类:

    @Component
    public class ServiceManager {
    
        public static MerchantRepository merchantRepository;
    
    
        public static ILookupService lookupService;
    
    
        @Autowired
        public  void setMerchantRepository(MerchantRepository merchantRepository) {
            ServiceManager.merchantRepository = merchantRepository;
        }
    
        @Autowired
        public  void setLookupService(ILookupService lookupService) {
            ServiceManager.lookupService = lookupService;
        }
    
    }

    这样在任何类里都可以直接使用了

    ServiceManager.lookupService.方法名

      如下:

     
        public static String getNameByCode(String code){
            Map<String, Object> param = new HashMap<>();
            param.put("code", code);
            List<PfLookup> lookups = ServiceManager.lookupService.listLookupByCode(param);
            if(lookups.size() == 0){
                logger.error("字典配置有误,code:[{}]", code);
                return "字典有误";
            }
            return lookups.get(0).getName();
    
        }
    stay hungry stay foolish!
  • 相关阅读:
    [hdu3853]LOOPS(概率dp)
    [poj2096]Collecting Bugs(概率dp)
    lintcode-42-最大子数组 II
    lintcode-39-恢复旋转排序数组
    lintcode-36-翻转链表 II
    lintcode-34-N皇后问题 II
    lintcode-33-N皇后问题
    lintcode-32-最小子串覆盖
    lintcode-31-数组划分
    lintcode-30-插入区间
  • 原文地址:https://www.cnblogs.com/shog808/p/15437481.html
Copyright © 2011-2022 走看看