zoukankan      html  css  js  c++  java
  • spring中集合的注入(list,map等)

    前言

    这种用法是在看别人代码的时候学到的,觉得挺有意思的,记录一下。

    具体用法

    首先新建一个接口

    public interface PlService {
    }
    

    新建两个这个接口的实现类

    @Service
    public class AService implements PlService {
        public AService() {
            System.out.println("----------------------- AService 实例化 ------------------------");
        }
    }
    
    @Service
    public class BService implements PlService {
    
        public BService() {
            System.out.println("------------------------------- BServive 实例化 ------------------------");
        }
    }
    

    在另一个类中注入集合

    我是在一个启动的runner中注入的:

    @Component
    @Slf4j
    public class PlEurekaServerRunner implements ApplicationRunner {
    
        @Autowired
        private List<PlService> services;
    
        @Autowired
        private Map<String, PlService> serviceMap;
    
        @Override
        public void run(ApplicationArguments args) throws Exception {
    
            for (PlService service : services) {
                log.info("++++++++++++++++++++ {}+++++++++++++++++++ ", service.getClass().getName());
            }
    
            for (Map.Entry<String, PlService> entry : serviceMap.entrySet()) {
                log.info("======================= {} : {} ====================", entry.getKey(), entry.getValue());
            }
        }
    
    }
    

    注入的结果

    如果是List的话,会注入该接口的所有实现类;如果是Map的话,key为类名,value为实现类。

  • 相关阅读:
    【focus-lei 】微服务
    queryURLParams
    时间字符串的处理
    str.charAt()与str[]的区别
    数组去重函数封装
    数组去重的几种方法
    splice与slice区别
    变量与属性名的区别
    parseInt parseFloat Number三者转换的方式
    原生js实现选项卡样式切换的几种方式。
  • 原文地址:https://www.cnblogs.com/lwmp/p/13837655.html
Copyright © 2011-2022 走看看