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

  • 相关阅读:
    mysql中的round函数的使用
    mysql中日期函数的处理,datediff()函数 与 timestampdiff()函数的区别 及使用。
    easyui datagrid 自定义editor
    好的产品 跟 好的 设计师 很类似
    music
    gd库复制图片做水印
    用gd库画矩形和椭圆
    默认安装wamp修改MySQL密码
    中文验证码
    验证码
  • 原文地址:https://www.cnblogs.com/jinit/p/13461368.html
Copyright © 2011-2022 走看看