ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Java ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
Kanalga Telegramβda oβtish
π ΠΠ°ΠΉΡΡ Π°ΠΊΠΈ, ΠΏΡΠΈΡΠΌΡ ΠΈ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π΄Π»Ρ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΡΡ, ΡΡΠΎ ΡΡΠΊΠΎΡΠΈΡ ΠΊΠΎΠ΄ ΠΈ ΠΏΡΠΎΠΊΠ°ΡΠ°Π΅Ρ Π½Π°Π²ΡΠΊΠΈ. Java, Spring, Maven, Hibernate. ΠΠΎ Π²ΡΠ΅ΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ @evgenycarter Π ΠΠ clck.ru/3KoGeP
Ko'proq ko'rsatish9 992
Obunachilar
Ma'lumot yo'q24 soatlar
-157 kun
-6130 kun
Postlar arxiv
QuarkusβββΠ³ΠΎΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π΄ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
Quarks ΡΡΠΊΠΎΡΡΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² CloudEra
ΠΡΠ»ΠΈ Π²Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΠ»ΡΡΠ°Π»ΠΈ ΠΎ ΡΠ΅Π²ΠΎΠ»ΡΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅ Quarkus. ΠΡΠ»ΠΈ ΠΆΠ΅ Π΅ΡΠ΅ Π½Π΅ ΡΠ»ΡΡΠ°Π»ΠΈ, Π²ΠΎΡ Π΅Π³ΠΎ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅: Quarkus βββ ΡΡΠΎ Kubernetes-Π½Π°ΡΠΈΠ²Π½ΡΠΉ Java-ΡΡΠ΅ΠΊ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΡΠ°Π²ΡΡΠΈΡ
Π²ΠΎ Π³Π»Π°Π²Ρ ΡΠ³Π»Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΡ Π½Π°ΡΠΈΠ²Π½ΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ.
Π Quarkus ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠΎΡ ΠΆΠ΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄, ΡΡΠΎ ΠΈ Π² Spring Boot, Π½ΠΎ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ βββ ΠΌΠ΅Π½ΡΡΠΈΠΌΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠ°ΠΌΠΈ Ρ Π±ΡΡΡΡΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ, ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΡΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ.
https://medium.com/javarevisited/exciting-news-in-the-world-of-java-development-4e07766d5a1f
π@BookJava
π ΠΡΠΈΡΡΠ΅Π³Π½ΠΈΡΠ΅ ΡΠ΅ΠΌΠ½ΠΈ: Spring Framework Π½Π°Π±ΠΈΡΠ°Π΅Ρ Π²ΡΡΠΎΡΡ
β‘οΈ ΠΡΠΎΠΉΠ΄ΠΈ ΡΠ΅ΡΡ ΠΏΠΎ Java ΠΎΡ OTUS ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡ, Π³ΠΎΡΠΎΠ² Π»ΠΈ ΡΡ ΠΊ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π½Π° Π½Π°ΡΠ΅ΠΌ ΠΊΡΡΡΠ΅?
ΠΡΠ²Π΅ΡΠΈΡΡ β ΠΏΡΠΎΠΉΠ΄Π΅ΡΡ Π½Π° ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ ΠΊΡΡΡ "Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° Spring Framework" ΠΎΡ OTUS ΠΏΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π½Π΅.
π ΠΠ ΠΠΠ’Π Π’ΠΠ‘Π’: https://vk.cc/cvHNJp
π« ΠΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ Π² ΡΠ°ΡΡΡΠΎΡΠΊΡ
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576, www.otus.ruΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ WEB-INF, Π° ΠΊΠΎΠ³Π΄Π° META-INF?
Π ΠΊΠΎΡΠ½Π΅ Π°ΡΡ
ΠΈΠ²Π° java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
WEB-INF ΠΈ META-INF. ΠΠ±Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ
ΡΠ°Π½ΡΡ Π² ΡΠ΅Π±Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΎΠ±ΡΡΠ½ΠΎ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅: yaml, xml, json, ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ.
META-INF ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π°ΡΡ
ΠΈΠ²Π°Ρ
Π²ΡΠ΅Ρ
ΡΠΈΠΏΠΎΠ². ΠΠ»Π°Π²Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ β MANIFEST.MF. Π’Π°ΠΌ ΠΆΠ΅ Ρ
ΡΠ°Π½ΡΡΡΡ
β’ ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² SPI;
β’ ΠΠΎΠ΄ΠΏΠΈΡΡ Π°ΡΡ
ΠΈΠ²Π°: ΡΠ°ΠΉΠ»Ρ .SF, .DSA, .RSA;
β’ INDEX.LIST Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°ΠΌΠΈ ΠΎ ΠΌΠ΅ΡΡΠΎΠ½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°.
ΠΠ½ΠΎΠ³Π΄Π° (Π½Π΅ ΡΠ°ΡΡΠΎ) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΠ΄Π° ΡΠ²ΠΎΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² classpath ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² ΡΠ°Π½ΡΠ°ΠΉΠΌΠ΅.
WEB-INF ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² web-Π°ΡΡ
ΠΈΠ²Π°Ρ
(.war). ΠΠ½Π° Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ, Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ META-INF. Π Π½Π΅ΠΉ Ρ
ΡΠ°Π½ΠΈΡΡΡ:
β’ ΠΠ»Π°Π²Π½ΡΠΉ ΡΠ°ΠΉΠ» web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ web.xml;
β’ ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΡΠ΅Π³ΠΎΠ² .TLD;
β’ ΠΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ classes/ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
β’ ΠΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ lib/ Ρ .jar-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ;
β’ ΠΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ tag/ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠ΅Π³ΠΎΠ².
π@BookJavaΠ Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Microkernel Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Java OSGI
Π― Ρ
ΠΎΡΠ΅Π» Π±Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΎΠΏΡΡΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΄Π΅ΡΠ½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ (microkernel) Π½Π° Java Ρ ΠΏΠΎΠΌΠΎΡΡΡ OSGI (Open Service Gateway Initiative). ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΈΠΊΡΠΎ-ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ VM Ρ Π΄ΡΡΠ³ΠΎΠΉ - ΠΌΠ΅ΠΆΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π±Π΅Π· ΡΡΠ°ΡΡΠΈΡ ΡΠ΅ΡΠΈ, ΡΡΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ.
https://habr.com/ru/articles/801785/
π@BookJava
π¦Ύ ΠΠ°ΠΊ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΡΠ² Π² ΠΊΠ°ΡΡΠ΅ΡΠ΅ Π² 2024?
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ ΠΎΡΠΊΡΡΡΠΎΠΌΡ ΡΡΠΎΠΊΡ Β«ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ArmeriaΒ»
ΠΠ° ΡΡΠΎΠΊΠ΅ ΠΌΡ ΠΏΠΎΠ³ΡΡΠ·ΠΈΠΌΡΡ Π² ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Armeria! Π£Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈ ΠΊΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ SpringBoot.
Π£ΡΠΎΠΊ ΠΏΠΎΡΠ²ΡΡΠ΅Π½ ΠΊΡΡΡΡ Β«Java Developer. ProfessionalΒ» ΠΎΡ OTUS, Π³Π΄Π΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΈ Π½Π°Π²ΡΠΊΠΈ Π² Java ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΈ Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΡΠΌΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Armeria.
π₯ ΠΠ΅ ΡΠΏΡΡΡΠΈΡΠ΅ ΡΠ°Π½Ρ ΠΏΠΎΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΈ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΡ!
π ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΡΠ΅ΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΡΠΎΠΊ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π°ΠΏΠΈΡΡ:
https://otus.pw/KBOa/?erid=2Vtzqvgz4ff
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576
Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Iterator ΠΈ ListIterator?
β Iterator ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΏΠ΅ΡΠ΅Π΄, Π° ListIterator ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π²ΠΏΠ΅ΡΠ΅Π΄ ΠΈ Π½Π°Π·Π°Π΄.
β ListIterator ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ
previous(), hasPrevious(), add(), set().
β ListIterator ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
β ListIterator ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΠΏΠΈΡΠΊΠ°, Π° Iterator ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π°ΡΠ°Π»Π°.
β ListIterator ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ
List, Π° Iterator ΠΈΠ· Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
β ListIterator ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, Iterator β ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ°ΡΡ.
β ΠΡΠ΅ΡΠ°ΡΠΎΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
, Π° ListIterator β Π½Π΅Ρ.
π@BookJavaJava 22 ΡΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Π°
Download Now: https://jdk.java.net/22/
Release notes: https://jdk.java.net/22/release-notes
API Javadoc: https://docs.oracle.com/en/java/javase/22/docs/api/index.html
Features: https://openjdk.org/projects/jdk/22/
Inside Java on JDK22: https://inside.java/2024/03/19/the-arrival-of-java-22/
π@BookJava
βοΈ ΠΠ°ΠΊ ΡΡΠ°ΡΡ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Π½Π° Java Π² 2024?
ΠΡΠ²ΠΎΠΉΡΠ΅ JVM ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠ΅ Β«Java Developer. AdvancedΒ» ΠΎΡ OTUS.
ΠΠΎΡΠ»Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅:
- ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, ΡΠ°Π·Π²ΡΡΠ½ΡΡΡΠΌΠΈ Π² Kubernetes Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠ΅ΡΡΠΈΠΊ Π½Π° Π΄Π°ΡΠ±ΠΎΡΠ΄Π΅ Grafana;
- ΠΏΠΎΠ΄Π°ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ½ΡΡΡ Π΄Π°ΠΌΠΏ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΎΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅;
- Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ.
ΠΡΠ΅ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ Π½Π° Π²Π°ΠΊΠ°Π½ΡΠ½ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΠΊΡΡΠΏΠ½ΡΡ
ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ
ΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ
ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ
.
Π‘ΡΠ°ΡΡΡΠ΅ΠΌ ΡΠΆΠ΅ 28 ΠΌΠ°ΡΡΠ°!
π Π£Π·Π½Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΡΠ΅ΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π½Ρ ΠΏΠΎΠΏΠ°ΡΡΡ Π² Π³ΡΡΠΏΠΏΡ: https://vk.cc/cvBhjj
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ². Java + WebDav
Java + WebDav - Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΠ°ΠΉΠ» Π½Π° webdav ΡΠ΅ΡΠ΅Π· Rest Π·Π°ΠΏΡΠΎΡ.
00:00 ΠΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅
00:34 Spring Init
00:55 Docker Hub
01:54 docker-compose
04:25 webdav.conf
06:00 application.yaml
06:50 Sardine
07:36 WebDavConfig
09:15 WebConfig
11:40 FileService
14:09 Controller
17:22 Docker Fix
17:47 Postman
18:16 ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ?
20:46 ΠΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊ
π@BookJava
ΠΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Scala ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π΄ΠΎΡ
ΠΎΠ΄ Π² 2024?
ΠΡΠ΅Π³ΠΎ Π·Π° 5 ΠΌΠ΅ΡΡΡΠ° ΠΎΡΠ²ΠΎΠΈΡΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°ΠΌΡΠ΅ ΠΌΠΎΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠ΅ Β«Scala-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΒ» ΠΎΡ OTUS.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Ρ ΠΎΠΏΡΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΠΎΡ Π³ΠΎΠ΄Π° ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Ρ ΠΎΠΏΡΡΠΎΠΌ ΠΎΡ ΡΡΡΡ
Π»Π΅Ρ.
ΠΠ° ΠΊΡΡΡΠ΅ Π²Π°Ρ ΠΆΠ΄ΡΡ:
- ΠΆΠΈΠ²ΡΠ΅ Π²Π΅Π±ΠΈΠ½Π°ΡΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π·Π°Π΄Π°ΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΡΠΊΡΠΏΠ΅ΡΡΠ°ΠΌ;
- ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΈ ΡΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ;
- ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ;
- ΡΠ°ΡΡΡΠΎΡΠΊΠ° Π½Π° ΠΊΠΎΠΌΡΠΎΡΡΠ½ΡΡ
ΡΡΠ»ΠΎΠ²ΠΈΡΡ
.
Π’ΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ 24 ΠΌΠ°ΡΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ π ΠΏΡΠΎΠΌΠΎΠΊΠΎΠ΄ scala10 ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΊΠΈΠ΄ΠΊΡ Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅!
ΠΠ΅ ΡΠΏΡΡΠΊΠ°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠ°Π½Ρ, ΠΈΠ·ΡΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈ ΠΎΡΡΠ°Π²ΡΡΠ΅ Π·Π°ΡΠ²ΠΊΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ: https://vk.cc/cvzgSJ
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576, www.otus.ruΠΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Spring + Redis. ΠΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ?
ΠΡΡΠ΅ΠΌ ΠΡΡΠ΅ΠΌΡΠ΅Π²
Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΡΡΠΏΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π΅ΡΡΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΡΠΏΠΈΠΊΠ΅ΡΠ° β Π½Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΡΠ΅ΠΌ Π²ΠΊΡΠ°ΡΡΠ΅ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ
, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠΎΠ»ΠΊΠ½ΡΠ»Π°ΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π‘Π»ΠΎΠΌΠ°Π΅Ρ ΡΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Redis β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π±Π°Π·Π° Π΄Π»Ρ ΠΊΡΡΠ°. ΠΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ
Redis Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΠ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΡΠ΅ΠΊΠ΅ Java + Spring. ΠΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΡ
Π΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π²ΡΠΌΡ ΠΠ, ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° ΠΈ Π΄Π΅ΠΌΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΏΠΈΠΊΠ΅Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π½Π° Π²ΡΡ
ΠΎΠ΄Π΅ (ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ), ΠΈ ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΡ
ΠΊΠ°ΠΌΠ½ΡΡ
, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ.
ΠΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ ΠΊ Π΄ΠΎΠΊΠ»Π°Π΄Ρ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊ
π@BookJava
ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Aware ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π² Spring?
Π Spring Framework ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Β«Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ
Β» (Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΡΠΊΠΎΡΠΏΠ°) ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ-ΡΠΈΠ½Π³Π»ΡΠΎΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π±ΠΈΠ½Π°ΠΌΠΈ. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΡΠ΅ ΡΡΠ°Π·Ρ ΠΎΠ½ΠΈ Π½Π΅ Π½ΡΠΆΠ½Ρ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡ Π±ΠΈΠ½Ρ, ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π½ΠΈΡ
Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΏΠΎΡΠΎΠ± Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ.
ΠΠ°ΡΠΊΠ΅ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
Aware ΡΠ»ΡΠΆΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΌ Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ *Aware. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ
, ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΈΠ½Ρ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π΄Π»Ρ ΡΠ΅Π±Ρ ΡΡΡΠ½ΠΎΡΡΡ. Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ApplicationContextAware.
Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ, ΡΠ°ΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ FooAware ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ void setFoo(Foo value). Π§Π΅ΡΠ΅Π· ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ BeanPostProcessor ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² Π±ΠΈΠ½ Π½ΡΠΆΠ½ΡΡ ΡΡΡΠ½ΠΎΡΡΡ.
ΠΡΠ»ΠΈ Π±ΠΈΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ServletContextAware, ΡΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΈΠ½Π° ΠΊ Π½Π΅ΠΌΡ ΠΏΡΠΈΠ΄Π΅Ρ ServletContextAwareProcessor, ΠΈ Π²ΡΠ·ΠΎΠ²Π΅Ρ setServletContext Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ ΡΠ΅ΡΠ²Π»Π΅ΡΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
π@BookJavaβ¨οΈ Π₯ΠΎΡΠ΅ΡΡ Π²ΡΠΉΡΠΈ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π΄ΠΆΠ°Π²ΠΈΡΡ?
- ΠΡΠ²Π°ΠΈΠ²Π°ΠΉ Spring!
Π’Π΅ΡΡ Π½Π° Π·Π½Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° Java
β ΠΡΠ²Π΅ΡΡ Π½Π° 21 Π²ΠΎΠΏΡΠΎΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ
ΠΎΡΠΎΡΠΎ nΡ Π·Π½Π°Π΅ΡΡ ΡΠ·ΡΠΊ Java ΠΈ Π³ΠΎΡΠΎΠ²Ρ ΠΎΡΠ²ΠΎΠΈΡΡ Spring. Π‘ΠΌΠΎΠΆΠ΅ΡΡ ΡΠ΄Π°ΡΡ β ΠΏΡΠΎΠΉΠ΄ΡΡΡ Π½Π° ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡ "Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° Spring" Framework ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ!
π ΠΠ ΠΠΠ’Π Π’ΠΠ‘Π’ ΠΠΠΠΠΠ-ΠΠ£Π Π‘Π "Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° Spring Framework": https://vk.cc/cvxr0M
π« ΠΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ Π² ΡΠ°ΡΡΡΠΎΡΠΊΡ
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576, www.otus.ruΠ‘ΠΎΠ²Π΅Ρ ΠΏΠΎ SpringFramework π‘
Π SpringFramework Π΅ΡΡΡ ΠΊΠ»Π°ΡΡ
DataSize, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΡ Π±Π°ΠΉΡΠΎΠ² Π΄ΠΎ ΡΠ΅ΡΠ°Π±Π°ΠΉΡΠΎΠ². Π‘ΡΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΈΠΏΠ° long. ΠΡΠΎΠ±Π½ΡΠ΅ ΡΠΈΡΠ»Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ.
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/util/unit/DataSize.html
π@BookJavaΠ£ Π’ΠΈΠ½ΡΠΊΠΎΡΡ ΠΎΡΠΊΡΡΠ»Π°ΡΡ ΡΡΠΈΠΏΠ΅Π½Π΄ΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² Π½Π° 2024 Π³ΠΎΠ΄!
Π ΠΎΡΠ±ΠΎΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΡΡΠ΄Π΅Π½ΡΡ Π±Π°ΠΊΠ°Π»Π°Π²ΡΠΈΠ°ΡΠ°, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΠ΅ΡΠ° ΠΈ ΠΌΠ°Π³ΠΈΡΡΡΠ°ΡΡΡΡ (ΠΊΡΠΎΠΌΠ΅ Π²ΡΠΏΡΡΠΊΠ½ΠΎΠ³ΠΎ ΠΊΡΡΡΠ°) ΠΈΠ· Π²ΡΠ΅Ρ
Π³ΠΎΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΠ£ΠΠΎΠ².
Π‘ΡΠΈΠΏΠ΅Π½Π΄ΠΈΡ Π²ΡΠ΄Π°ΡΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΡΠ΅Π±Π½ΡΠΉ Π³ΠΎΠ΄ ΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 25 000 β½ Π² ΠΌΠ΅ΡΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ:
β Π΄ΠΎΡΡΡΠΏ ΠΊ Π»Π΅ΠΊΡΠΈΡΠΌ;
β ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΌΠ΅Π½ΡΠΎΡΠ°ΠΌΠΈ;
β ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΎΡΡΠ΅Ρ Π½Π° ΡΡΠ°ΠΆΠΈΡΠΎΠ²ΠΊΡ ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΡ Π² Π’ΠΈΠ½ΡΠΊΠΎΡΡ.
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΡΠΎΡΠΌΠ° ΠΏΠΎΠ΄Π°ΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ π ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅
ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡΠ΅ ΠΈ ΠΏΠΎΠ΄Π°Π²Π°ΠΉΡΠ΅ Π·Π°ΡΠ²ΠΊΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠΈΡ
Π² ΡΡΡΠ°Π½Π΅ ΡΠ°ΡΡΠ½ΡΡ
ΡΡΠΈΠΏΠ΅Π½Π΄ΠΈΠΉ Π΄Π»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ²!
erid:2VtzqxRtN4k
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠ "Π’ΠΈΠ½ΡΠΊΠΎΡΡ ΠΠ°Π½ΠΊ", ΠΠΠ 7710140679, Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π¦Π Π Π€ β 2673
ΠΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ?
ΠΠ»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΡΠ»ΠΎΡΠ½ΡΡ
ΡΠΈΠΏΠΎΠ² ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Ρ
ΡΠΆΠ΅ ΡΠ΅ΠΌ
ArrayList. Π ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π»Π΅ΠΆΠΈΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΌΠ°ΡΡΠΈΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ. Π Π·Π½Π°ΡΠΈΡ, Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π½ΡΠΎΠ² Π½Π° ΠΎΡΠΈΠ±ΠΊΡ.
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠΈΠ³ΡΡΡ ΠΏΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ β generic-ΡΠΈΠΏΡ, ΠΈΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ
ΡΠ°Π½ΡΡΡΡ Π² Π½ΠΈΡ
Π² ΡΠΎΡΠΌΠ΅ ΡΡΡΠ»ΠΎΡΠ½ΡΡ
ΡΠΈΠΏΠΎΠ²-ΠΎΠ±Π΅ΡΡΠΎΠΊ.
1. Autoboxing Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΡΠΎ Π΄ΠΎΡΠΎΠ³Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ;
2. ΠΡΠΎΠΌΠ΅ Π΄Π°Π½Π½ΡΡ
, Object Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ;
3. Π―ΡΠ΅ΠΉΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° Π»Π΅ΠΆΠ°Ρ Π±Π»ΠΈΠ·ΠΊΠΎ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π½ΡΡ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΡ Π² ΠΊΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°.
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π²ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ΄Π°, ΠΎΠ½ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. ΠΠΎΡΡΠΎΠΌΡ Π·Π°ΠΌΠ΅Π½Π° Π»ΠΈΡΡΠΎΠ² Π½Π° ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΈΠ·Π»ΠΈΡΠ½Π΅ΠΉ ΠΌΠΈΠΊΡΠΎΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ.
ΠΠΎΠ³Π΄Π° ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π²ΡΡ-ΡΠ°ΠΊΠΈ Ρ
ΠΎΡΠ΅ΡΡΡ, ΡΡΠΎΠΈΡ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π³ΠΎΡΠΎΠ²ΡΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π½Π΅-generic ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ. Π‘ΠΏΠΈΡΠΊΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² Eclipse Collections. Π Android Π΅ΡΡΡ HashMap Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ β SparseArray.
π@BookJavaΠ Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ WebSocket ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π° Java, Netty Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ BattleRoyale/Matchmaking
Π ΡΡΠΎΠΉ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΡ ΠΏΡΠΎΠ»ΠΈΡΡ ΡΠ²Π΅Ρ Π½Π° Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅Π΅ΡΠ°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ - ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ websocket-tcp ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π° Netty.
https://habr.com/ru/articles/774322/
π@BookJava
π₯ ΠΡΠΎ Π±Π°Π·Π° Ρ 1700 Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ Ρ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ Π½Π° Java ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. Π€ΠΈΡΠΊΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΈΡΠ°Π½Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ Π±ΡΠ΄Π΅Π½ Π·Π°Π΄Π°Π½ ΠΈ Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΎΡΠ²Π΅ΡΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΡΠ΅Ρ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ²ΡΠΈΡΡ ΠΊ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ π
ΠΠ°ΠΊΠ°Ρ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ @β Controller ΠΈ @β RestController?
Controller β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏΠΎΠ² Spring Framework. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠ΅ΡΠ΅Π²ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΡ
Π°Π½Π½ΠΎΡΠ°ΡΠΈΠ΅ΠΉ
@RequestMapping.
ΠΡΠ²Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎ Π²Π΅ΡΠ½ΡΡΡ ΠΈΠ· ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΡΡΠΎΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ jsp-ΡΠ°ΠΉΠ»Π°, ΠΈΠ»ΠΈ ΠΆΠ΅ Π²Π΅ΡΠ½ΡΡΡ ResponseBodyEmitter, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎΠ·ΠΆΠ΅. ΠΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
API ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΏΠΎ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ REST. Π Π½Π΅ΠΉ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠ½ΠΎΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΏΠΎΠ΄ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ URI. Π ΠΌΠ΅ΡΠΎΠ΄Π΅-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΡΠΎΠΉ ΡΡΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΠΎΡΠ²Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· HttpMessageConverter-ΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² JSON Π΅Π³ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡ MappingJackson2HttpMessageConverter. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ²Π΅ΡΠ°, ΠΌΠ΅ΡΠΎΠ΄, ΠΈΠ»ΠΈ Π²Π΅ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ @ResponseBody.
@RestController β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ @Controller + @ResponseBody.
π@BookJava