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为实现类。

  • 相关阅读:
    html css 学习
    第七天
    第六天
    第五天
    第四天
    第三天
    第二天
    团队敏捷开发day8
    团队敏捷开发day7
    团队敏捷开发day6
  • 原文地址:https://www.cnblogs.com/lwmp/p/13837655.html
Copyright © 2011-2022 走看看