spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020

Книга Β«Spring Boot 2: Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов»

spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π€ΠΎΡ‚ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ! Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ свою ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ?

Π£Π²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ простоту Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ микросСрвисов ΠΈ слоТных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, избавившись ΠΎΡ‚ Π·Π°Π±ΠΎΡ‚ ΠΏΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Spring.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Spring Boot 2 ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ инструмСнты Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Spring 5, ΠΊΠ°ΠΊ WebFlux, Security, Actuator, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Micrometer, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π½ΠΎΠ²Ρ‹ΠΉ способ сбора ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ тСстирования Spring

Одна ΠΈΠ· основных ΠΈΠ΄Π΅ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Spring β€” ΠΏΠΎΠΎΡ‰Ρ€Π΅Π½ΠΈΠ΅ создания Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ простых ΠΈ слабо связанных классов, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ интСрфСйсов, благодаря Ρ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС становится Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΌ. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Spring прСдоставляСт инструмСнты, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС (Π½Π° самом Π΄Π΅Π»Π΅, Ссли Π²Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅ интСрфСйсы, для тСстирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Spring Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½). Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСм тСстирования JUnit ΠΈΠ»ΠΈ TestNG Π½Π° основС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (создаваСмых просто с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° new β€” Π±Π΅Π· Spring ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°).

Π’ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Spring Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ нСсколько ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ тСстирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Для ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ нСсколько ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Environment, PropertySource, JNDI, Servlet; Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ тСстирования ServerHttpRequest ΠΈ ServerHttpResponse), с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ изоляционноС тСстированиС ΠΊΠΎΠ΄Π°.

Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, сущСствуСт мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² тСстирования с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Spring. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ аннотация @RunWith, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ всС элСмСнты Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° тСстирования. НапримСр:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ взглянСм, ΠΊΠ°ΠΊ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ тСстирования Spring ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ возмоТности прСдоставляСт Spring Boot.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ тСстирования Spring Boot

Spring Boot ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠΎΡ‰ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° тСстирования Spring, Ρ€Π°ΡΡˆΠΈΡ€ΡΡ старыС ΠΈ добавляя Π½ΠΎΠ²Ρ‹Π΅ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΈ возмоТности, благодаря ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² тСстированиС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ упрощаСтся.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ всС возмоТности тСстирования Spring Boot, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ лишь Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ spring-boot-starter-test с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ области видимости test (scope test). Π’ сСрвисС Spring Initializr эта Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π°.

Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ spring-boot-starter-test обСспСчиваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² тСстирования, ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΡΠΎΠ³Π»Π°ΡΡƒΡŽΡ‰ΠΈΡ…ΡΡ с возмоТностями тСстирования Spring Boot: JUnit, AssertJ, Hamcrest, Mockito, JSONassert ΠΈ JsonPath. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ тСстирования, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ Spring Boot Test; просто ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ зависимости Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Spring Boot прСдоставляСт Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @SpringBootTest, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΡƒΡŽ тСстированиС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Spring. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈ тСстировании прилоТСния Spring Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСсколько Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ для тСстирования ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ возмоТности ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния, Π½ΠΎ Π½Π΅ Π² Spring Boot β€” хотя для тСстирования всС Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @RunWith(SpringRunner.class); Ссли этого Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π»ΡŽΠ±Ρ‹Π΅ Π½ΠΎΠ²Ρ‹Π΅ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ тСстирования Spring Boot Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹. Π£ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ @SpringBootTest Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ для тСстирования Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ RANDOM_PORT ΠΈ DEFINED_PORT.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° прСдставляСт собой каркас тСста Spring Boot.

ВСстированиС ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ Π²Π΅Π±-прилоТСния

Spring Boot прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ тСстирования ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ: ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ срСду ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ класс MockMvc:

МоТно Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ классом TestRestTemplate.

Π’ этом ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ тСст, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ сСрвСр ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ экзСмпляр класса TestRestTemplate для обращСния ΠΊ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ /todo. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ возвращаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ String (это Π½Π΅ Π»ΡƒΡ‡ΡˆΠΈΠΉ способ тСстирования Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° JSON; Π½Π΅ Π²ΠΎΠ»Π½ΡƒΠΉΡ‚Π΅ΡΡŒ, Π΄Π°Π»Π΅Π΅ ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ класс TestRestTemplate ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ).

Π˜ΠΌΠΈΡ‚Π°Ρ†ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚

ΠœΠΎΠ΄ΡƒΠ»ΡŒ тСстирования Spring Boot прСдоставляСт Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @MockBean, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΡƒΡŽ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Mockito для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π² ApplicationContext. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Spring ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ² эту Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅: всС это происходит Π²Π½ΡƒΡ‚Ρ€ΠΈ ApplicationContext.

ВСстовыС срСзы Spring Boot

Одна ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… возмоТностСй Spring Boot β€” Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ тСстов Π±Π΅Π· нСобходимости Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ инфраструктурС. ΠœΠΎΠ΄ΡƒΠ»ΡŒ тСстирования Spring Boot Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ срСзы (slices), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для тСстирования ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… частСй прилоТСния Π±Π΅Π· использования сСрвСра ΠΈΠ»ΠΈ Π‘Π£Π‘Π”.

Аннотация @JsonTest

Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ тСстирования Spring Boot Π΅ΡΡ‚ΡŒ аннотация @JsonTest, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰Π°Ρ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ/Π΄Π΅ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π°Ρ, всС Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. @JsonTest автоматичСски настраиваСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ срСдство JSON-отобраТСния, Π² зависимости ΠΎΡ‚ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ ΠΊ классам Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ: Jackson, GSON ΠΈΠ»ΠΈ JSONB.

Для тСстирования ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π±Π΅Π· использования ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ сСрвСра ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠΉ Spring Boot Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ @WebMvcTest, которая автоматичСски настраиваСт инфраструктуру Spring MVC ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ список просматриваСмых ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ: Controller, ControllerAdvice, @JsonComponent, Converter, GenericConverter, Filter, WebMvcConfigurer ΠΈ HandlerMethodArgumentResolver; благодаря этому Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π·Π½Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ваши ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, ΠΊΠ°ΠΊ оТидалось.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ Component ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ использовании этой Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, Π½ΠΎ ΠΏΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @MockBean.

Аннотация @WebFluxTest

Для Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Spring Boot прСдоставляСт Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @WebFluxTest. Π­Ρ‚Π° аннотация автоматичСски настраиваСт инфраструктуру модуля Spring WebFlux ΠΈ ΠΈΡ‰Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Controller, ControllerAdvice, @JsonComponent, Converter, GenericConverter ΠΈ WebFluxConfigurer.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ Component ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ использовании этой Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, Π½ΠΎ ΠΏΡ€ΠΈ нСобходимости Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @MockBean.

Аннотация @DataJpaTest

Для тСстирования JPA-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ тСстирования Spring Boot прСдоставляСт Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @DataJpaTest, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‰ΡƒΡŽ Π°Π²Ρ‚ΠΎΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ встроСнных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Она ΠΈΡ‰Π΅Ρ‚ Entity ΠΈ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Component. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½Π° прСдоставляСт Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс TestEntityManager, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° тСстированиС, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° класс JPA EntityManager.

Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ тСстировании с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ @DataJpaTest ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ встроСнныС Π‘Π£Π‘Π” Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Для тСстирования ΠΆΠ΅ с настоящСй Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½Π°Π±Π΄ΠΈΡ‚ΡŒ класс тСста Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ @AutoConfigureTestDatabase(replace=Replace.NONE).

Аннотация @JdbcTest

Π­Ρ‚Π° аннотация ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° @DataJpaTest; СдинствСнноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ β€” ΠΎΠ½Π° выполняСт ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° JDBC тСсты. Она ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ настройку встроСнной Π‘Π£Π‘Π”, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠΉ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, ΠΈ класса JdbcTemplate, пропуская ΠΏΡ€ΠΈ этом всС снабТСнныС Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ Component классы.

Аннотация @DataMongoTest

Для тСстирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ MongoDB ΠΌΠΎΠ΄ΡƒΠ»ΡŒ тСстирования Spring Boot прСдоставляСт Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @DataMongoTest. Она ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ настройку встроСнного Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти сСрвСра Mongo, Ссли ΠΎΠ½ доступСн; Ссли ΠΆΠ΅ Π½Π΅Ρ‚, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ свойства spring.data.mongodb.*. Она Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ настройку класса MongoTemplate ΠΈ ΠΈΡ‰Π΅Ρ‚ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ @Document. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Component ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ.

ΠŸΡ€ΠΈ потрСбности Π²ΠΎ внСшнСм сСрвСрС MongoDB (нСвстроСнном, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠΌ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти) Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @DataMongoTest ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ excludeAutoConfiguration = EmbeddedMongoAutoConfiguration.class.

Аннотация @RestClientTest

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ваТная аннотация β€” @RestClientTest, прСдназначСнная для тСстирования REST-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². Π­Ρ‚Π° аннотация автоматичСски ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ настройки для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Jackson, GSON ΠΈ JSONB, Π° Ρ‚Π°ΠΊΠΆΠ΅ настраиваСт класс RestTemplateBuilder ΠΈ добавляСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ MockRestServiceServer.

БущСствуСт мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… доступных для использования срСзов. Π“Π»Π°Π²Π½ΠΎΠ΅, Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ: для тСстирования Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π° полная инфраструктура со всСми Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌΠΈ сСрвСрами. Π£ΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ тСстированиС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Spring Boot ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ срСзы.

Об Π°Π²Ρ‚ΠΎΡ€Π΅

Π€Π΅Π»ΠΈΠΏΠ΅ Π“ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ (Felipe Gutierrez) β€” Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ ПО, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉ Π΄ΠΈΠΏΠ»ΠΎΠΌΡ‹ Π±Π°ΠΊΠ°Π»Π°Π²Ρ€Π° ΠΈ магистра Π² области Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π² Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ образования Π³ΠΎΡ€ΠΎΠ΄Π° ΠœΠΎΠ½Ρ‚Π΅Ρ€Ρ€Π΅ΠΉ, МСксика. Π£ Π“ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅ΡΠ° Π±ΠΎΠ»Π΅Π΅ 20 Π»Π΅Ρ‚ ΠΎΠΏΡ‹Ρ‚Π° Π² сфСрС IT, ΠΎΠ½ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈΠ· мноТСства Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… отраслСй, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ государствСнноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, розничная торговля, Π·Π΄Ρ€Π°Π²ΠΎΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ банковскоС Π΄Π΅Π»ΠΎ. Π’ настоящСС врСмя ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Pivotal, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡΡΡŒ Π½Π° PAS ΠΈ PKS для Cloud Foundry, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ Spring, Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… прилоТСниях Spring, Groovy ΠΈ RabbitMQ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. Он Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π» Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ПО Π² Ρ‚Π°ΠΊΠΈΡ… ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… компаниях, ΠΊΠ°ΠΊ Nokia, Apple, Redbox ΠΈ Qualcomm. Π“ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ β€” Π°Π²Ρ‚ΠΎΡ€ ΠΊΠ½ΠΈΠ³ Spring Boot Messaging (Apress, 2017) ΠΈ Introducing Spring Framework (Apress, 2014).

О Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°Ρ…

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅
ΠœΠ°Π½ΡƒΡΠ»ΡŒ Π–ΠΎΡ€Π΄Π°Π½ Π­Π»Π΅Ρ€Π° (Manuel Jordan Elera) β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ-самоучка ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΎΠ±ΠΎΠΆΠ°Π΅Ρ‚ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ для своих экспСримСнтов ΠΈ Π½ΠΎΠ²Ρ‹Ρ… ΠΈΡ… сочСтаний. ΠœΠ°Π½ΡƒΡΠ»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΏΡ€Π΅ΠΌΠΈΠΈ Springy Award Community Champion ΠΈ Spring Champion 2013. НСмногоС ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ΡΡ Ρƒ Π½Π΅Π³ΠΎ свободноС врСмя ΠΎΠ½ посвящаСт Ρ‡Ρ‚Π΅Π½ΠΈΡŽ Π‘ΠΈΠ±Π»ΠΈΠΈ ΠΈ ΡΠΎΡ‡ΠΈΠ½Π΅Π½ΠΈΡŽ ΠΌΡƒΠ·Ρ‹ΠΊΠΈ Π½Π° Π³ΠΈΡ‚Π°Ρ€Π΅. ΠœΠ°Π½ΡƒΡΠ»ΡŒ извСстСн ΠΏΠΎΠ΄ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-псСвдонимом dr_pompeii. Он осущСствлял Π½Π°ΡƒΡ‡Π½ΡƒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΡƒΡ€Ρƒ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΊΠ½ΠΈΠ³, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Pro Spring, 4-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ (Apress, 2014)1, Practical Spring LDAP (Apress, 2013), Pro JPA 2, 2-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ (Apress, 2013) ΠΈ Pro Spring Security (Apress, 2013).

РусскоязычноС ΠΈΠ·Π΄Π°Π½ΠΈΠ΅
Π’Π°Π»Π΅Ρ€ΠΈΠΉ АлСксССвич Π”ΠΌΠΈΡ‚Ρ€ΡƒΡ‰Π΅Π½ΠΊΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² IT Π±ΠΎΠ»Π΅Π΅ 35 Π»Π΅Ρ‚. Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для мноТСства ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈ отраслСй, Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΠ» ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ комплСксными ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΈ сопровоТдСниС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСм. Участвовал Π² создании ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² для государствСнных ΠΎΡ€Π³Π°Π½ΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ организациями: ООН, USIAD, World Bank Π² России, Косово, Молдавии ΠΈ АрмСнии.

Для Π₯Π°Π±Ρ€ΠΎΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ скидка 25% ΠΏΠΎ ΠΊΡƒΠΏΠΎΠ½Ρƒ β€” Spring Boot

По Ρ„Π°ΠΊΡ‚Ρƒ ΠΎΠΏΠ»Π°Ρ‚Ρ‹ Π±ΡƒΠΌΠ°ΠΆΠ½ΠΎΠΉ вСрсии ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° e-mail высылаСтся элСктронная ΠΊΠ½ΠΈΠ³Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π€Π΅Π»ΠΈΠΏΠ΅ Π“ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ | Spring Boot 2. Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов (2020) [PDF]

spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π€ΠΎΡ‚ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π€ΠΎΡ‚ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π€ΠΎΡ‚ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020

spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π€ΠΎΡ‚ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020

Π€Π΅Π»ΠΈΠΏΠ΅ Π“ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ | Spring Boot 2. Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов (2020) [PDF] Автор: Π€Π΅Π»ΠΈΠΏΠ΅ Π“ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ
Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ: ΠŸΠΈΡ‚Π΅Ρ€
БСрия: Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
ISBN: 978-5-4461-1587-7
Π–Π°Π½Ρ€: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
Π€ΠΎΡ€ΠΌΠ°Ρ‚: PDF
ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ: Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ элСктронноС (ebook)
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ: Π§Π΅Ρ€Π½ΠΎ-Π±Π΅Π»Ρ‹Π΅

ОписаниС:
Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ свою ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ?
Π£Π²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ простоту Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ микросСрвисов ΠΈ слоТных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, избавившись ΠΎΡ‚ Π·Π°Π±ΠΎΡ‚ ΠΏΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Spring.
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Spring Boot 2 ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ инструмСнты Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Spring 5, ΠΊΠ°ΠΊ WebFlux, Security, Actuator, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Micrometer, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π½ΠΎΠ²Ρ‹ΠΉ способ сбора ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ.
Π’ этой ΠΊΠ½Π³Π΅: настройка ΠΈ использованиС Spring Boot 2; Ρ€Π°Π±ΠΎΡ‚Π° с Π½Π΅Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ трСбованиями с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Spring Boot Actuator; Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Spring Boot 2; постоянноС Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… с использованиСм JDBC, JPA ΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… NoSQL; ΠΎΠ±ΠΌΠ΅Π½ сообщСниями с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JMS, RabbitMQ ΠΈ WebSockets; ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ знакомство с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ Spring Cloud; тСстированиС, микросСрвисы ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Π² ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΉ срСдС с использованиСм Spring Boot 2; Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Spring Boot ΠΏΡƒΡ‚Π΅ΠΌ создания своСго собствСнного «стартового Π½Π°Π±ΠΎΡ€Π°Β» ΠΈ добавлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ @Enable.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020

spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π€ΠΎΡ‚ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020

spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020. Π€ΠΎΡ‚ΠΎ spring boot 2 Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для профСссионалов Ρ„Π΅Π»ΠΈΠΏΠ΅ Π³ΡƒΡ‚ΡŒΠ΅Ρ€Ρ€Π΅Ρ 2020

Java запись Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π°

Felipe Gutierrez | Pro Spring Boot 2, 2nd Edition / (2019) [PDF/ePub] [En]
#JavaBooks@javatutorial #Spring@javatutorial

Quickly and productively develop complex Spring applications and microservices out of the box, with minimal concern over things like configurations. This revised book will show you how to fully leverage the Spring Boot 2 technology and how to apply it to create enterprise ready applications that just work. It will also cover what’s been added to the new Spring Boot 2 release, including Spring Framework 5 features like WebFlux, Security, Actuator and the new way to expose Metrics through Micrometer framework, and more.

This book is your authoritative hands-on practical guide for increasing your enterprise Java and cloud application productivity while decreasing development time. It’s a no nonsense guide with case studies of increasing complexity throughout the book. The author, a senior solutions architect and Principal Technical instructor with Pivotal, the company behind the Spring Framework, shares his experience, insights and first-hand knowledge about how Spring Boot technology works and best practices.

Pro Spring Boot 2 is an essential book for your Spring learning and reference library.

What You Will Learn

Configure and use Spring Boot
Use non-functional requirements with Spring Boot Actuator
Carry out web development with Spring Boot
Persistence with JDBC, JPA and NoSQL Databases
Messaging with JMS, RabbitMQ and WebSockets
Test and deploy with Spring Boot
A quick look at the Spring Cloud projects
Microservices and deployment to the Cloud
Extend Spring Boot by creating your own Spring Boot Starter and @Enable feature
Who This Book Is For

Experienced Spring and Java developers seeking increased productivity gains and decreased complexity and development time in their applications and software services.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *