java - How to create multiple beans of same type according to configuration in Spring? -
i'm trying create specified number of beans of same type in spring.
i've tried:
@bean(name = "beanlist") public list<mybean> beanlist(         @value("${number:1}") int number         ) {     list<mybean> beanlist = new arraylist<>(number);     (int = 0; < number; i++) {         beanlist.add(new mybean());     }     return beanlist; }   but not expected.
in way, bean "beanlist" maintained spring context, instead of it's elements, can't specify name , init method or destroy method each element in list.
any ideas?
you have @ beanfactorypostprocessor, tried following code , it's working fine, beans depends on mybean autowired:
@configuration public class appconfig implements beanfactorypostprocessor {     @override     public void postprocessbeanfactory(configurablelistablebeanfactory beanfactory) throws beansexception {         (int = 0; < 3; i++) {             system.out.println("register bean: " + i);             beanfactory.registersingleton("bean-" + i, new mybean("mybean-" + i));         }     } }   since have complete control of creation process of mybean instance, can pass other beans in through constructor if it's necessary. hope helpful :-)
Comments
Post a Comment