Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Spring Boot. С чего начать?

08.03.19 10:10
Re: Spring Boot. С чего начать?
 
MrSanders старожил
в ответ beatus 07.03.19 20:23

Я тоже попробую...

Spring Boot makes it effortless to create Spring-powered, production-ready services without a lot of code!

Философия спринга "мы сами знаем, что ты хочешь, и незаметно это сделаем. Только не спрашивай как." применённая к микросервисам. 20 аннотаций, 40 строчек кода и у тебя уже что-то как-то работает, регистрируется в каталоге, читает и пишет в БД. Если вопрос "как" не сильно интересен - отличное средство. Обожает сканиовать classpath и угадывать что разработчику надо, так что аккуратнее с зависимостями.


Код отвечающий на get, который скомпилируется в запускаемый jar, в котором уже интегрирован томкет или джетти (в зависимости не от конфигурации, нет, от classpath), только запускай:

@SpringBootApplication
@RestController
public class RestDummy {

  @GetMapping("/")
  @ResponseBody
  public String version() {
    return "Hello World!";
  }

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

Запускаем java -jar my-spring-boot.jar --server.port=12345 и вызываем http://localhost:12345/


Проблема как всегда в том, что даже туториалы не все работают так как описано. Разбираться в ошибках из-за конфигурации/аннотаций спринга, тяжело. Дебажить невозможно - слишком много генерируемого в рантайме кода. Хочешь чего-то нестандартного - страдай. Просто уменьшить время, после которого eureka выбросит неактивный сервис - танец с бубнами, и 15 рецептов, из которых половина работает с версией 1.5 другая с 2.0, а в текущей опять переименовали парочку пропертей, они же для внутреннего использования. В общем - спринг со всеми его преимуществами и недостатками.


Книги:
Spring Boot in Action
Spring Microservices in Action

Если надо лезть в облако или просто планируется запускать много микросервисов - Cloud Native Java

 

Перейти на