La función y el principio de implementación de @Lookup en Spring

@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
@Component
public class Bean1 {
    
    
    public Bean1() {
    
    
        System.out.println("Bean1 create");
    }

    public Bean1(String params) {
    
    
        System.out.println("Bean1 create:" + params);
    }

    public String say(){
    
    
        return "hello world";
    }

    public int add(int a,int b){
    
    
        return a + b;
    }

    public int addObj(Integer a,Integer b){
    
    
        return a + b;
    }
}
@Component
public class Bean2 {
    
    

    public Bean2(){
    
    
        System.out.println("Bean2 create");
    }
}
@Component
public abstract class Bean3 {
    
    
    public Bean3() {
    
    
        System.out.println("Bean3 create");
    }

    @Lookup
    public abstract Bean1 getBean1();

    @Lookup
    public abstract Bean1 getBean1(String aa);

    @Lookup
    public Bean2 getBean2() {
    
    
        return null;
    }
}
@Component
public class ConfigA {
    
    

    @Autowired
    private Bean3 bean3;

    @Autowired
    private Bean4 bean4;

    @PostConstruct
    public void init() {
    
    
        System.out.println(bean3);
        System.out.println(bean4);

        System.out.println(bean3.getBean1());
        System.out.println(bean3.getBean1("aaa"));
        System.out.println(bean3.getBean1("bbb"));
        System.out.println(bean3.getBean2());
        System.out.println(bean3.getBean2());

        System.out.println(bean4.getBean1());
        System.out.println(bean4.getBean1());
        System.out.println(bean4.getBean2());
        System.out.println(bean4.getBean2());
    }
}

Supongo que te gusta

Origin blog.csdn.net/u013202238/article/details/108529038
Recomendado
Clasificación