ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΈΠ· ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ Π² ΠΌΠΈΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Java β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΌΠ΅Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, Π° ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΡΡΠ»Π΅Π½ΠΈΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ 1Π‘ ΠΏΡΠΈΠ²ΡΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΡΡΠ΅Π΄Π΅, Π³Π΄Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π±Π΅ΡΠ΅Ρ Π½Π° ΡΠ΅Π±Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π΄Π»Ρ Π±ΠΈΠ·Π½Π΅ΡΠ°. Π Java Π²Ρ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ΡΡ Π»ΠΈΡΠΎΠΌ ΠΊ Π»ΠΈΡΡ Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡΠΌΠΈ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΈΡΡΡ Ρ Π½ΡΠ»Ρ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠΎΡ ΡΠ°Π³ ΠΊΠ°ΠΊ ΠΊΠ°ΡΡΠ΅ΡΠ½ΡΠΉ Π»ΠΈΡΡ, ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΠΉ Π΄Π²Π΅ΡΠΈ Π² ΠΊΡΡΠΏΠ½ΡΠ΅ IT-ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠΈ ΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΡΠΌ: ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΡΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΡΡΠΎΠ³Π°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ½Π°ΡΠ°Π»Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠΎΠ³Π½ΠΈΡΠΈΠ²Π½ΡΠΉ Π΄ΠΈΡΡΠΎΠ½Π°Π½Ρ. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π²Π°ΡΠΈ Π·Π½Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π½ΠΈΠΊΡΠ΄Π° Π½Π΅ Π΄Π΅Π½ΡΡΡΡ, Π½ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌ, ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΡΠ΅ΠΊ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π΄Π»Ρ ΡΡΠ°ΡΡΠ° ΠΈ Π΄Π°Π΄ΠΈΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠ°Π³ΠΈ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΡΠ°. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ (ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ) ΠΏΡΠΈΠ²ΡΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ 1Π‘ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ Java, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ ΠΆΠ΄ΡΡ Π²Π°Ρ Π½Π° ΠΏΡΡΠΈ ΠΎΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΎΠΊ Π΄ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
Π€ΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 1Π‘ ΠΈ JVM
ΠΠ΅ΡΠ²ΠΎΠ΅, Ρ ΡΠ΅ΠΌ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠΈΠ³ΡΠ°Π½Ρ β ΡΡΠΎ ΡΠ°Π·Π½ΠΈΡΠ° Π² ΡΠΈΠ»ΠΎΡΠΎΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°. Π 1Π‘ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π²Π½ΡΡΡΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΈΠΊΡΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈΠ³ΡΡ: Π΅ΡΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ Π±Π°Π·Π°. Π ΠΌΠΈΡΠ΅ Java Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»ΠΎ Ρ ΠΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΠ°ΡΠΈΠ½ΠΎΠΉ Java (JVM), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈΡΡ ΡΡΠ΅Π΄ΠΎΠΉ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π° Π½Π΅ Π³ΠΎΡΠΎΠ²ΡΠΌ Π±ΠΈΠ·Π½Π΅Ρ-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ. ΠΠ°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
Π―Π·ΡΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² 1Π‘, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠΈΠΉ SQL, Π² Java Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΡ Ρ ORM-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ Π²ΡΠΎΠ΄Π΅ Hibernate ΠΈΠ»ΠΈ ΡΠΈΡΡΡΠΌ JDBC. ΠΡΠ»ΠΈ Π² 1Π‘ Π²Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΈΡΠ΅ΡΠ΅ Β«ΠΡΠ±ΡΠ°ΡΡ Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ.ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°Β», ΡΠΎ Π² Java Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΡΡΠ½ΠΎΡΡΡ (Entity), Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ ΠΏΠΎΠ»Π΅ΠΉ Π½Π° ΡΠ°Π±Π»ΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΡΡΡΡ) Π²ΡΡΡΠ½ΡΡ. ΠΡΠΎ Π΄Π°Π΅Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Β«ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌΒ».
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π 1Π‘ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ°ΡΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Β«ΠΠ°ΡΠ°ΡΡΠ’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡΒ». Π Java ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ Π² ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ°ΡΡΠΊΠ°Ρ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠ°ΡΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΡΡΠ΄Π½ΠΎΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ.
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ β ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΡΡΡΡ. Π₯ΠΎΡΡ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ·ΡΠΊΠ°Ρ Π΅ΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° (Garbage Collector), Π² 1Π‘ ΠΎΠ½ ΡΠΊΡΡΡ Π·Π° ΡΠΎΠ»ΡΡΡΠΌ ΡΠ»ΠΎΠ΅ΠΌ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. Π Java ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ΅ΠΊΠΎΠΌ ΠΈ ΠΊΡΡΠ΅ΠΉ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠΎΠ΄ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ, ΡΡΠΎ Π² ΡΡΠ΅Π΄Π΅ 1Π‘ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ΅ΠΆΠ΅ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΆΠ΅ΡΡΠΊΠΈΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
ΠΡΠ±ΠΎΡ ΡΡΠ΅ΠΊΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
Π 1Π‘ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° Π΅Π΄ΠΈΠ½Π°: Π΅ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, Π΅ΡΡΡ ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ, Π΅ΡΡΡ EDT. Π Java ΠΌΠΈΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½, ΠΈ Π½ΠΎΠ²ΠΈΡΠΊΡ Π»Π΅Π³ΠΊΠΎ ΡΡΠΎΠ½ΡΡΡ Π² ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ². ΠΠ»Ρ ΡΡΠ°ΡΡΠ° Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ±ΡΠ°ΡΡ IDE (ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ). ΠΠΎΠ»ΠΎΡΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ IntelliJ IDEA, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎ ΡΡΠΎΠ²Π½Ρ ΠΊΠΎΠΌΡΠΎΡΡΠ° ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ Π±Π»ΠΈΠΆΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΊ ΡΠΎΠΌΡ, ΠΊ ΡΠ΅ΠΌΡ Π²Ρ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ Π² 1Π‘. ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ Eclipse ΠΈΠ»ΠΈ NetBeans, Π½ΠΎ ΠΎΠ½ΠΈ ΡΡΠ΅Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΈ ΡΠ±ΠΎΡΠΊΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΡΠ²ΠΎΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ. ΠΠ°Π±ΡΠ΄ΡΡΠ΅ ΠΎ ΡΡΡΠ½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Β«ΡΠ°ΠΉΠ»ΠΈΠΊΠΎΠΌΒ». Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΌΠΈΡΠ΅ Java ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Maven ΠΈΠ»ΠΈ Gradle. ΠΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡ ΠΊΠΎΠ΄ ΠΈ ΠΏΠ°ΠΊΡΡΡ Π΅Π³ΠΎ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° pom.xml ΠΈΠ»ΠΈ build.gradle ΡΡΠ°Π½Π΅Ρ Π²Π°ΡΠΈΠΌ Π½ΠΎΠ²ΡΠΌ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΡΠΌ ΡΠΈΡΡΠ°Π»ΠΎΠΌ.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ° 1Π‘ Π² ΠΌΠΈΡΠ΅ Java Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΡΠ²ΡΠ·ΠΊΠ° Π±ΡΠΊΠ΅Π½Π΄Π° ΠΈ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π°. ΠΠ° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΠ΅Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Spring Boot. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° 1Π‘-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΡΠΈΡΡ JavaScript-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ (React, Vue ΠΈΠ»ΠΈ Angular), ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΎΡΠΌ Π² Java Π΄Π»Ρ Π²Π΅Π±Π° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
- π οΈ IntelliJ IDEA Ultimate β Π»ΡΡΡΠ°Ρ ΡΡΠ΅Π΄Π° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Spring ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ.
- π¦ Maven β ΡΡΠ°Π½Π΄Π°ΡΡ Π΄Π΅-ΡΠ°ΠΊΡΠΎ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
- π± Spring Framework β ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°, Π·Π°ΠΌΠ΅Π½ΡΡΡΠ°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 1Π‘ Π² Π²ΠΎΠΏΡΠΎΡΠ°Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ.
- ποΈ PostgreSQL β Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ Π‘Π£ΠΠ Π΄Π»Ρ Java-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π°Π½Π°Π»ΠΎΠ³ PostgreSQL Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ 1Π‘, Π½ΠΎ ΡΡΠ΅Π±ΡΡΡΠ°Ρ ΡΡΡΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ΅ΡΡΠΈΠΈ Java (JDK) ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ. ΠΠ»Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ LTS-Π²Π΅ΡΡΠΈΠΈ (Long Term Support), ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Java 11, 17 ΠΈΠ»ΠΈ 21. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Java 22) Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
Π‘Π»ΠΎΠ²Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°: ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² 1Π‘ ΠΊ ΠΊΠ»Π°ΡΡΠ°ΠΌ Java
Π§ΡΠΎΠ±Ρ Π±ΡΡΡΡΠ΅Π΅ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡΡΡ, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π΄Π²ΡΡ ΠΌΠΈΡΠΎΠ². Π 1Π‘ Π²Ρ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅ΡΠ΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌΠΈ. Π Java ΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΡΡΡΡΡ Π² ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΠΈΡΠΊΠ°ΡΡ Β«Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈΒ» Π² ΠΊΠΎΠ΄Π΅ ΠΈ Π½Π°ΡΠ°ΡΡ ΠΌΡΡΠ»ΠΈΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ Π½Π°ΠΉΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΌΠΈ ΡΡΡΠ½ΠΎΡΡΡΠΌΠΈ 1Π‘ ΠΈ ΠΈΡ Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ Π² Java-ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ΅.
| ΠΠ±ΡΠ΅ΠΊΡ 1Π‘ | ΠΠ½Π°Π»ΠΎΠ³ Π² Java | ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ |
|---|---|---|
| Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ / ΠΠΎΠΊΡΠΌΠ΅Π½Ρ | Entity (JPA/Hibernate) | ΠΠ»Π°ΡΡ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΠ. ΠΠ½Π½ΠΎΡΠ°ΡΠΈΡ @Entity. |
| Π Π΅Π³ΠΈΡΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ/Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ | Π’Π°Π±Π»ΠΈΡΠ° ΡΠ°ΠΊΡΠΎΠ² / Π‘ΡΡΠ½ΠΎΡΡΡ | ΠΠ±ΡΡΠ½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° Ρ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ. Π Java ΡΡΠΎ ΡΠΎΠΆΠ΅ Entity. |
| ΠΠΎΠ΄ΡΠ»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° / Π€ΠΎΡΠΌΠ° | Controller / Service | ΠΠΎΠ³ΠΈΠΊΠ° Π²ΡΠ½ΠΎΡΠΈΡΡΡ Π² Service, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² Controller. |
| ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° / ΠΡΡΠ΅Ρ | REST API Endpoint | ΠΠ΅ΡΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉ JSON/XML. |
| ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ | IntelliJ IDEA + Plugins | Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΡΠ΅Π±ΡΡΡΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΏΠΎΠ΄ Π·Π°Π΄Π°ΡΠΈ. |
ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΎΠΈΡ ΡΠ΄Π΅Π»ΠΈΡΡ ΡΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½ΡΡ
. Π 1Π‘ Π΅ΡΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΈ Π²Π°ΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ. Π Java ΡΡΡΠΎΠ³Π°Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ: Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠ±ΡΡΠ²ΠΈΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ
ΡΠ°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Integer ΠΈΠ»ΠΈ String. ΠΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΡΡΡΠΎΠΊΡ Π² ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΠ»ΡΡΠΎΠΌ Π΄Π»Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Generics Π² Java?
ΠΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ (Generics) β ΡΡΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ². Π 1Π‘ Π²Ρ ΡΠ°ΡΡΠΎ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠ΅ Β«ΠΡΠ±ΠΎΠΉΠ’ΠΈΠΏΒ». Π Java Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, List ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠ³ΡΡ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊΠΈ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ
ΠΠ°ΡΠ½Π΅ΠΌ ΠΏΡΠ°ΠΊΡΠΈΠΊΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 1Π‘, Π³Π΄Π΅ Π²Ρ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΡΠ΅ Β«ΠΠ°Π»Π΅Π΅Β», Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Java-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΡΠ΅Π΄Ρ. ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ JDK (Java Development Kit). ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΡΡΡ ΠΊ JDK Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ JAVA_HOME ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°ΠΏΠΊΡ bin Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ PATH. ΠΠ΅Π· ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ javac Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΉΠ΄Π΅Π½ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠΌΠΈΠ½Π°Π» (ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ). ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
java -version
ΠΡΠ»ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄Π΅Π»ΠΈ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ, Π·Π½Π°ΡΠΈΡ, ΡΡΠ΅Π΄Π° Π³ΠΎΡΠΎΠ²Π°. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ Β«Π²ΡΡΡΠ½ΡΡΒ» ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ°ΡΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² IntelliJ IDEA ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ Maven-ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΡ ΠΏΠ°ΠΏΠΎΠΊ: src/main/java Π΄Π»Ρ ΠΊΠΎΠ΄Π° ΠΈ src/main/resources Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ².
βοΈ ΠΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΠ΅Π΄Ρ
ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ IDE ΡΠ΄Π΅Π»ΠΈΡΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΊΠΎΠ΄-ΡΡΠ°ΠΉΠ»Π°. Π 1Π‘ Π΅ΡΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡ, Π½ΠΎ Π² Java ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Google ΠΈΠ»ΠΈ Oracle) Π΄ΠΈΠΊΡΡΡΡ ΠΆΠ΅ΡΡΠΊΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡΠΈ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π° (Ctrl+Alt+L Π² Windows), ΡΡΠΎΠ±Ρ Π²Π°Ρ ΠΊΠΎΠ΄ ΡΡΠ°Π·Ρ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΈ ΡΠΈΡΠ°Π΅ΠΌΠΎ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ: ΠΎΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ° ΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° 1Π‘ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠ³ΠΎΡΠ΅Π΅Ρ ΠΊ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΡ: ΠΎΠ΄Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ , ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π ΠΌΠΈΡΠ΅ Java, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Ρ ΠΏΡΠΈΡ ΠΎΠ΄ΠΎΠΌ Spring Cloud, Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΠ΅Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°. ΠΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ , Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΎΠ±ΡΠ°ΡΡΠΈΡ ΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈ.
ΠΠ»Ρ Π±ΡΠ²ΡΠ΅Π³ΠΎ 1Π‘-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΌΠ΅Π½Ρ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠΌΠ΅ΡΡΠΎ ΠΏΡΡΠΌΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΎΠ±ΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ HTTP-Π·Π°ΠΏΡΠΎΡΡ (REST) ΠΈΠ»ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· Π±ΡΠΎΠΊΠ΅ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, RabbitMQ ΠΈΠ»ΠΈ Kafka). ΠΡΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΠΎΠ±ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²Π΅ΡΡ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΡΠΈΠ½ΡΠΈΠΏΡ SOLID ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΠΠ) Π΅Π΄ΠΈΠ½Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ·ΡΠΊΠΎΠ². ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ, Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ Π² Java ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠ³ΠΎ ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ, ΡΠ΅ΠΌ Π² 1Π‘. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π½Π° ΡΠ»ΠΎΠΈ (Controller, Service, Repository), ΠΏΡΠΈΠ΄Π΅Ρ Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ CRUD-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Create, Read, Update, Delete).
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π΅Ρ Π²Π°ΠΆΠ½ΠΎΡΡΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. Π 1Π‘ ΠΆΡΡΠ½Π°Π» ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½. Π ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Java Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ Π»ΠΎΠ³ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π· ELK-ΡΡΠ΅ΠΊ), ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Lombok. ΠΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (Π³Π΅ΡΡΠ΅ΡΡ, ΡΠ΅ΡΡΠ΅ΡΡ, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ) Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ. ΠΠ»Ρ 1Π‘-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½ΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π§Π°ΡΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΏΡΠΈΡ ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±Π°ΡΡΠ΅ΡΡ
ΠΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ
ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ
ΠΎΡΠΈΠ±ΠΎΠΊ β ΠΏΠΎΠΏΡΡΠΊΠ° ΠΏΠΈΡΠ°ΡΡ Π½Π° Java ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ ΠΏΠΈΡΠ°Π»ΠΈ Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ 1Π‘. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ°ΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Β«Π°Π½Π΅ΠΌΠΈΡΠ½ΡΠ΅Β» ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ
, Π³Π΄Π΅ ΠΊΠ»Π°ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Ρ, Π° Π²ΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° Π²ΡΠ½ΠΎΡΠΈΡΡΡ Π² ΡΡΠΈΠ»ΠΈΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ-ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΈ. ΠΡΠΎ Π½Π°ΡΡΡΠ°Π΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΠΠ. Π Java ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΎ Π²Π½ΡΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: ΡΡΡΠ½ΠΎΡΡΡ Order Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°ΠΌΠ° ΡΠΌΠ΅ΡΡ ΡΠ΅Π±Ρ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡ, Π° Π½Π΅ Π±ΡΡΡ ΠΏΠ°ΡΡΠΈΠ²Π½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ
.
ΠΡΡΠ³ΠΎΠΉ Π±Π°ΡΡΠ΅Ρ β ΡΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ Β«Π²ΠΎΠ»ΡΠ΅Π±Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈΒ». Π 1Π‘ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ F5 ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΡΠΎΡΠΌΡ. Π Java ΠΎΡΠ»Π°Π΄ΠΊΠ° Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π·Π°ΠΏΡΠΎΡΠ°, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎΡΡΠΎΠ² ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ Π΄Π΅Π±Π°Π³Π³Π΅ΡΠΎΠΌ. ΠΠ΅ Π±ΠΎΠΉΡΠ΅ΡΡ ΡΠΈΡΠ°ΡΡ Π»ΠΎΠ³ΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π£ΠΌΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ°ΡΡ Stack Trace (ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ΅ΠΊΠ° ΠΎΡΠΈΠ±ΠΊΠΈ) β Π³Π»Π°Π²Π½ΡΠΉ Π½Π°Π²ΡΠΊ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
Π’Π°ΠΊΠΆΠ΅ Π½Π΅ ΡΡΠΎΠΈΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π 1Π‘ Π°Π²ΡΠΎΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠΎΡΠΊΠΎΡΡ. Π Java-ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΠ΅ΡΡΠΎΠ² (ΡΠ΅ΡΠ΅Π· JUnit) ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (TDD β Test Driven Development). ΠΠΎΠ΄ Π±Π΅Π· ΡΠ΅ΡΡΠΎΠ² ΡΡΠΈΡΠ°Π΅ΡΡΡ Β«ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π΄ΠΎΠ»Π³ΠΎΠΌΒ» ΠΈ ΡΠ°ΡΡΠΎ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ Π² ΡΠ΅Π»ΠΈΠ·.
- β ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ: Π² 1Π‘ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ°ΡΡΠΎ Π»ΠΎΠ²ΡΡΡΡ Π² Β«ΠΠΎΠΏΡΡΠΊΠ°...ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅Β». Π Java Π½Π΅Π»ΡΠ·Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Checked Exceptions, ΠΈΡ Π½ΡΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ, Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π²ΡΡΠ΅.
- β Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ God Object: ΠΏΠΎΠΏΡΡΠΊΠ° Π·Π°ΠΏΠΈΡ Π½ΡΡΡ Π²ΡΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ Π² ΠΎΠ±ΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»ΡΡ 1Π‘.
- β ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ: Π² Java ΠΏΡΠΈΠ½ΡΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ΅ΡΠ΅Π· JavaDoc, ΡΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΠ½ΡΡ ΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ API.
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ Π² ΠΌΡΡΠ»Π΅Π½ΠΈΠΈ: Π² 1Π‘ Π²Ρ ΡΠ΅ΡΠ°Π΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ Π±ΠΈΠ·Π½Π΅ΡΠ° ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π² Java Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (ΠΈΠ»ΠΈ Π΅Ρ ΡΠ°ΡΡΡ) Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π±ΠΈΠ·Π½Π΅ΡΠ°.
ΠΠ»Π°Π½ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΡΡΡΡΡ Π΄Π»Ρ ΡΡΠ°ΡΡΠ°
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΎΠ΄Π½Ρ Π½ΠΎΡΡ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΎΡ 3 Π΄ΠΎ 6 ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π° ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΠ°ΡΠ½ΠΈΡΠ΅ Ρ ΠΎΡΠ½ΠΎΠ² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Java, Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌ, ΠΏΠΎΡΠΎΠΊΠ°ΠΌ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΠΉΡΠ΅ ΠΊ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Spring.
ΠΠ΅ ΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ Π²ΡΡΡΠΈΡΡ Π²ΡΡ ΡΡΠ°Π·Ρ. Π‘ΡΠΎΠΊΡΡΠΈΡΡΠΉΡΠ΅ΡΡ Π½Π° ΡΡΠ΅ΠΊΠ΅ Spring Boot + Hibernate + PostgreSQL. ΠΡΠΎ ΠΏΠΎΠΊΡΠΎΠ΅Ρ 80% ΡΠΈΠΏΠΎΠ²ΡΡ Π·Π°Π΄Π°Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π²ΡΠΎΠ΄Π΅ JSP, Servlets (Π² ΡΠΈΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅) ΠΈΠ»ΠΈ EJB, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΠ΅ Π»Π΅Π³Π°ΡΠΈ-ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ»Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ 1Π‘ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅Ρ ΡΠΎΠ²Π°ΡΠΎΠ²) Π½Π° Java. Π Π΅Π°Π»ΠΈΠ·ΡΠΉΡΠ΅ ΡΠ΅ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΡ, ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΠ΅ΡΠ°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ Π½Π°ΠΏΡΡΠΌΡΡ ΡΡΠ°Π²Π½ΠΈΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΈ ΠΏΠΎΠ½ΡΡΡ, Π³Π΄Π΅ Java Π²ΡΠΈΠ³ΡΡΠ²Π°Π΅Ρ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π° Π³Π΄Π΅ 1Π‘ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
ΠΡΠΆΠ½ΠΎ Π»ΠΈ Π·Π½Π°ΡΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Java?
ΠΠ°, ΡΡΠΎ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ. ΠΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ (StackOverflow) ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ. Π£ΡΠΎΠ²Π΅Π½Ρ Intermediate ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΊΠΎΠΌΡΠΎΡΡΠ½ΠΎ ΡΠΈΡΠ°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ .
Π‘Π»ΠΎΠΆΠ½ΠΎ Π»ΠΈ Π½Π°ΠΉΡΠΈ ΡΠ°Π±ΠΎΡΡ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π±Π΅Π· ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ°?
Π ΡΠ½ΠΎΠΊ Junior-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π°ΡΡΡΠ΅Π½, Π½ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ Ρ Π±ΡΠΊΠ³ΡΠ°ΡΠ½Π΄ΠΎΠΌ Π² 1Π‘ ΡΠ΅Π½ΡΡΡΡ Π·Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΠΎΡΡΡΠΎΠ»ΠΈΠΎ Ρ ΠΏΠ΅Ρ-ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ Π½Π° GitHub ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π²Π°ΠΆΠ½Π΅Π΅ Π΄ΠΈΠΏΠ»ΠΎΠΌΠΎΠ².
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°Π½ΠΈΡ 1Π‘ Π² Java-ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ?
ΠΠ΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ (Π±ΡΡ Π³Π°Π»ΡΠ΅ΡΠΈΡ, Π»ΠΎΠ³ΠΈΡΡΠΈΠΊΠ°, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ) Π΄Π΅Π»Π°Π΅Ρ Π²Π°Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠΌ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Ρ.
ΠΠ°ΠΊΠ°Ρ Π·Π°ΡΠΏΠ»Π°ΡΠ° Ρ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ 1Π‘?
Π ΡΡΠ΅Π΄Π½Π΅ΠΌ, ΠΏΠΎΡΠΎΠ»ΠΎΠΊ Π·Π°ΡΠΏΠ»Π°Ρ Π² Java Π²ΡΡΠ΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ ΠΈ ΡΠΈΠ½ΡΠ΅Ρ Π΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠΏΡΡΠ½ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡΡ 1Π‘ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΠΈΠ΅ Π΄ΠΎΡ ΠΎΠ΄Ρ. Π Π°Π·Π½ΠΈΡΠ° Π½ΠΈΠ²Π΅Π»ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½ΡΡ Senior ΠΈ Π²ΡΡΠ΅.