создать два объекта 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".
Пожалуйста, предоставьте возможные решения, а также поправьте меня, если я ошибаюсь! Большое спасибо!