создать два объекта Java bean с разными параметрами значения конструктора

Я использую пакет javax.inject для создания bean-компонентов. Возможно ли создание двух bean-компонентов с разными значениями параметров?

Предположим, у меня как класс ниже

@Named
public class RestCalls {
    private Connection con;

    @Inject
    public RestCalls(Connection con) {
        this.con = con;
    }
    
    //method_1
    // con.callThis();
    //method_2
    // con.callThat();
}

//inbuilt class
public class Connection {

    private String url;
    
    public Connection(String url) {
        this.url = url;
        //connection logic
    }
    
}


@SpringBootApplication
public class Sample {

    public static void main(String[] args) {
        SpringApplication.run(Sample.class, args);
    }

    @Bean(name ="firstTarget")
    public Connection getFirstRegion() {
        new Connection("xxxx")
    }
    
    @Bean(name ="secondTarget")
    public Connection getSecondRegion() {
        new Connection("yyyy")
    }

}

@Named
public class FunctionlaityOne {

    RestCalls restCalls

    @Inject
    public FunctionlaityOne(RestCalls restCalls) {//Need bean of *RestCalls* with constructor params of type *Connection* with named as "firstTarget"
        this.restCalls = restCalls;
    }
}

@Named
public class FunctionlaityTwo {

    RestCalls restCalls

    @Inject
    public FunctionlaityTwo(RestCalls restCalls) {//Need bean of *RestCalls* with constructor params of type *Connection* with named as "secondTarget"
        this.restCalls = restCalls;
    }
}

Необходимо создать Bean для FunctionlaityOne с внедрением конструктора, но с параметром типа Connection с именем "firstTarget" и FunctionlaityTwo с именем "secondTarget".

Пожалуйста, предоставьте возможные решения, а также поправьте меня, если я ошибаюсь! Большое спасибо!

0 ответов

Другие вопросы по тегам