Я новичок в Spring, и мой вопрос довольно прост, но я не могу найти хорошего ресурса.Я просмотрел примеры для начинающих (например, this , this и еще несколько) и искал ответы в StackOverflow, но я не совсем уверен, что я должен искать.
Позвольте мне объяснить сценарий.Допустим, у меня есть центральный узел (C) и несколько внутренних узлов (I_1, ..., I_n), и этот случай:
I_1
.
. ------------------> C
.
I_n
В этом очень простом чертеже я пытаюсь проиллюстрировать, что каждый I_iотправляет что-то C, когда C просит об этом.Вот и все.Теперь я хочу, чтобы у каждого I_i был специальный идентификатор, и они отправляют этот идентификатор на C. Как мне смоделировать это весной?На данный момент у меня есть базовая настройка
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
И у меня есть контроллер
@RestController
public class Controller {
@RequestMapping(value = "/i1/{id}", method = RequestMethod.GET)
@ResponseBody
public String i1(
@PathVariable("id") String id) {
return id;
}
}
Так что, если я запущу этот код и свернусь к http://localhost:port/i1/560, он вернет 560Конечно, я могу создать несколько таких узлов, например, создав JAR-файл и запустив его на разных портах.Проблема в том, что я не могу дать им уникальные идентификаторы.Я имею в виду, они все являются экземплярами приложения.Я хотел бы, чтобы они принадлежали к классу узлов ниже (или к чему-то подобному):
class node{
private int id;
public node(int id){
this.id = id;
}
}
, чтобы у меня было n внутренних узлов.И тогда я могу открыть терминал и свернуть каждого из них, чтобы получить их удостоверение личности.Надеюсь, я объяснил достаточно хорошо.Вкратце: моя цель состоит в том, чтобы иметь n экземпляров класса узла с уникальным идентификатором.И я хочу свернуть их по отдельности и получить их идентификаторы, например, "curl http://localhost:8081/i1" вернет идентификатор i1, а" curl http://localhost:8082/i2" вернет идентификатор i2 и так далее.Я даже не уверен, какие ключевые слова я должен использовать при поиске.Я пробовал "запускать несколько клиентов / хостов / приложений", но не нашел нужной вещи, поэтому я даже был бы признателен за ответ, содержащий именно это.
Бины
Я прочитал этот пример , который на самом деле не использует контроллер, но использует бины.Я попробовал этот подход, который является своего рода тем, что я хочу сделать, он может создавать несколько узловых объектов, все с уникальным идентификатором.Однако я не уверен, смогу ли я подключить каждый из них к разным узлам и портам.