zoukankan      html  css  js  c++  java
  • Spring @Bean标注在有参方法上

    @Bean标注在有参方法上可以获取参数的Bean,若为List集合 则获取继承或实现该类的所有已注入的Bean,验证如下

    Person.java

    public interface Person {
        /**
         * 信息
         * @return String
         */
         String inf();
    }
    

    Student.java

    public class Student implements Person {
        private String work;
        public Student(String work){
            this.work=this.getClass().getName()+":"+work;
        }
        @Override
        public String inf() {
            return this.work;
        }
    }
    

    Worker.java

    public class Worker implements Person {
        private String work;
        public Worker(String work){
            this.work=this.getClass().getName()+":"+work;
        }
        @Override
        public String inf() {
            return this.work;
        }
    }
    

    AnimalAutoConfiguration

    @Configuration
    public class AnimalAutoConfiguration {
        @Bean
        public Student getUser(){
            return new Student("学生");
        }
        @Bean
        public Worker getWorker(){
            return new Worker("上班族");
        }
        /**
         * 此处将把所有实现Persion接口的类的Bean注入list集合中
         */
        @Bean
        public List<Person> getAnimals(List<Person> list){
            return list;
        }
    }
    

    Test.java

    @RestController
    public class Test {
        @Autowired
        private  Student student;
        @Autowired
        private  Worker worker;
        @Autowired
        private  List<Person> animals;
    
        @GetMapping(value = "/get/info")
        public  void test(){
            System.out.println("student--->"+student.inf());;
            System.out.println("worker--->"+worker.inf());;
            for (Person person:animals) {
                System.out.println("animals--->"+person.inf());;
    
            }
        }
    }
    

    注:getway网关中使用该方式将所有全局过滤器集合作为参数(单个实现类也需要注入,才能获取到集合)

  • 相关阅读:
    【网络流24题----15】汽车加油行驶问题
    【网络流24题】最小路径覆盖问题
    网络流二·最大流最小割定理
    贪吃蛇
    【SCOI2008】着色方案
    DARK的锁链
    【NOIP2014】飞扬的小鸟
    [NOIP2012] 借教室
    [NOIP2012] 开车旅行
    [NOIP2012] 国王游戏
  • 原文地址:https://www.cnblogs.com/jinit/p/13461368.html
Copyright © 2011-2022 走看看