рдПрдХ рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ: рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╣реА рдмреАрдд рдЪреБрдХрд╛ рд╣реИ, рдирдП рдиреЗ рд╣рдореЗрдВ 2 рдХреЗ рдмреВрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╢реНрди рд╡рд╣рд╛рдБ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд┐рдПред рдЦрд░реЛрдВрдЪ рд╕реЗ рдРрд╕реА рд╕рд╛рдордЧреНрд░реА рд▓рд┐рдЦрдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рд╣рдореЗрдВ рд╕рдмрд╕реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрд╛рдлреА рд╕рдВрдкреВрд░реНрдг рд▓рдЧрддрд╛ рд╣реИред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 2 рдХреА рд░рд┐рд▓реАрдЬрд╝ 2018 рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реБрдИ, рдФрд░ рд╣рд░ рдХреЛрдИ рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реИред рдпрд╣ рд░рд┐рд▓реАрдЬ 17 рдорд╣реАрдиреЗ рдХреЗ рдХрд╛рдо рдХреА рдкрд░рд┐рдгрддрд┐ рдереА рдФрд░ 215 рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓реЛрдЧреЛрдВ рдХреЗ 6,800 рд╕реЗ рдЕрдзрд┐рдХ рдХрдорд┐рдЯ рдереЗред рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд╛рдпрдХ рдХрдИ рд╢рд╛рдВрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ, рддреЛ рдЪрд▓рд┐рдП рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 2 рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ:
- рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдХреА рдХрд╣рд╛рдиреА
- рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ
- рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 2 рдЕрдкрдЧреНрд░реЗрдб рдЧрд╛рдЗрдб
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕
рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдореЗрдВ рджреЗрд░реА рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЗрд╕ рдЕрд╡рд╕рд░ рдХреЛ рд▓реЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдФрд░ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрддрд╛рдКрдВрдЧрд╛ред рдЕрдЧрд╕реНрдд 2013 рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдПрдХ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдлрд┐рд▓ рд╡реЗрдм рдиреЗ рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ рдкрд░ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдирд╛рдордХ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкрд╣рд▓реЗ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░рд┐рд▓реАрдЬ рдХреА рдШреЛрд╖рдгрд╛ рдХреА ред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдХреЛ рдЕрд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмрд┐рдирд╛, рд╕реНрдкреНрд░рд┐рдВрдЧ рд╕рд░рд▓ рдкрд░ рддреИрдпрд╛рд░-рд╕реЗ-рдЙрдкрдпреЛрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ, рд╕реНрдкреНрд░рд┐рдВрдЧ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдирдЬрд╝рд░ рд╣реИ, рдЬреЛ рд╕реНрдкреНрд░рд┐рдВрдЧ рдХреЗ рд╢реБрд░реБрдЖрддреА рдФрд░ рдЕрдиреБрднрд╡реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреЛрдиреЛрдВ рдХреЛ рдЙрдирдХреА рдЬрд╝рд░реВрд░рдд рдХрд╛ рд╣рд░ рд╕рд╛рдорд╛рди рдвреВрдВрдврдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдмреВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ 'рдЬрд╛рд╡рд╛-рдЬрд╛рд░' рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ рдпрд╛ рдЕрдзрд┐рдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ WAR рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рд▓рдЧрднрдЧ 9 рдорд╣реАрдиреЛрдВ рдХреЗ рдмрд╛рдж, рдЕрдкреНрд░реИрд▓ 2014 рдореЗрдВ, рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 1.0 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рддрдм рд╕реЗ, рдХрдИ рдЫреЛрдЯреА рд░рд┐рд▓реАрдЬрд╝ рдФрд░ рдирдИ рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдорд┐рд▓реА рд╣реИрдВред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 1.1 (рдЬреВрди 2014)
- рд╡рд╕рдВрдд-рдмреВрдЯ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкрд░реАрдХреНрд╖рдг
- рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдФрд░ рд╕реНрд╡рд╛рд╕реНрдереНрдп рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ
- рдЗрд▓рд╛рд╕реНрдЯрд┐рдХ рд╕рд░реНрдЪ, рдЕрдкрд╛рдЪреЗ рд╕реЛрд▓рд░, рд╕реНрдкреНрд░рд┐рдВрдЧ рд╕реЛрд╢рд▓ рдФрд░ рд╕реНрдкреНрд░рд┐рдВрдЧ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдСрдЯреЛ-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
- рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕рдорд░реНрдерди (рдлреНрд░реАрдореЗрдХрд░, рдЧреНрд░реВрд╡реА, рдФрд░ рд╡реЗрдЧ)
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 1.2 (рдорд╛рд░реНрдЪ 2015)
- рд╕рд░реНрд╡рд▓реЗрдЯ 3.1, рдЯреЙрдордХреИрдЯ 8 рдФрд░ рдЬреЗрдЯреНрдЯреА 9
- рд╡рд╕рдВрдд 4.1
- @SpringBootApplication рдПрдиреЛрдЯреЗрд╢рди
- рдИрдореЗрд▓ рд╕рдорд░реНрдерди
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 1.3 (рджрд┐рд╕рдВрдмрд░ 2016)
- рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 4.2 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛
- рд╡рд╕рдВрдд рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 4.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛
- рдбреЗрд╡рд▓рдкрд░ рдЙрдкрдХрд░рдг
- рдХреИрд╢рд┐рдВрдЧ рдСрдЯреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
- рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп JAR рдФрд░ рд╕реЗрд╡рд╛ рд╕рд╣рд╛рдпрддрд╛
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 1.4 (рдЬрдирд╡рд░реА 2017)
- рд╡рд╕рдВрдд 4.3
- рд╣рд╛рдЗрдмрд░рдиреЗрдЯ 5
- рдкрд░реАрдХреНрд╖рдг рд╕рдВрд╡рд░реНрджреНрдзрди
- рдПрдХреАрдХрд░рдг рд╕реНрдЯрд╛рд░реНрдЯрд░
- рдХрд╛рдЙрдЪрдмреЗрд╕ рдФрд░ Neo4J рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 1.5 (рдлрд░рд╡рд░реА 2017)
- рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ
- рдЕрдкрд╛рдЪреЗ рдХрд╛рдлреНрдХрд╛ рд╕рдорд░реНрдерди
- рдХреНрд▓рд╛рдЙрдб рдлрд╛рдЙрдВрдбреНрд░реА рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдд рддрдВрддреНрд░
- LDAP рд╕рдорд░реНрдерди
- рдкрд░реАрдХреНрд╖рдг рдЕрджреНрдпрддрди
рд╡рд╕рдВрдд рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ
рддреЛ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 2 рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ? рдЕрдЧрд░ рд╣рдо рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдирд╡рд╛рдЪрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ 5 рд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдПрдХ рдЕрджреНрдпрддрди рд╣реИред рдЪреВрдВрдХрд┐ рд╕рд┐рддрдВрдмрд░ 2017 рдореЗрдВ рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ 5 рдмрд╛рд╣рд░ рдЖрдпрд╛ рдерд╛, рдЬреНрдпрд╛рджрд╛рддрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ (рдореЗрд░реЗ рдЬреИрд╕реЗ) рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 2 рдХреЗ рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рдереЗред рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ 5 рдореЗрдВ рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдХрд╛рдлреА рд╕реВрдЪреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓реЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ 5 рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ
Java 8+ рд╡рд░реНрдЬрди рд╕рдкреЛрд░реНрдЯ
рдпрджрд┐ рдЖрдк рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛ рд╕рдВрд╕реНрдХрд░рдг 8+ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдкрдиреЗ рд╢рд╛рдпрдж рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ рд╣рдо рд╕рднреА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрджрд▓рд╛рд╡ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдкреНрд░рд┐рдВрдЧ рдЯреАрдо рдХреЗ рд▓рд┐рдП рдпрд╣ рдФрд░ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕рдиреЗ рдЕрдкрдиреЗ рд╕рднреА рдирдП рдлреАрдЪрд░реНрд╕ рдЬреИрд╕реЗ рд▓реИрдореНрдмреНрдбрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдпрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде рдЬрд╛рд╡рд╛ 8 рдХреЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдмреЗрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред рдпрд╣ рди рдХреЗрд╡рд▓ рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рдкрдардиреАрдп рдмрдирд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЛрд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рднреА рдмреЗрд╣рддрд░ рдмрдирд╛рддрд╛ рд╣реИред
рдЬрд╛рд╡рд╛ 9 рд╕рдкреЛрд░реНрдЯ
рдпрджрд┐ рдЖрдк рдЬрд╛рд╡рд╛ 9 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ 5 рдореЗрдВ рдФрд░ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 2 рдореЗрдВ рднреА рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рдЕрднреА рднреА рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЬрд╛рд╡рд╛ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдирдП рд╢рд╛рдВрдд "рдЦрд┐рд▓реМрдиреЗ" рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рдЕрд╡рд╕рд░ рд╣реИред рдорд╛рдирдХ рд╡рд░реНрдЧрдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рдм рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЬрд╛рд╡рд╛ 9 рдореЙрдбреНрдпреВрд▓ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп рдХреБрдЫ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рд╛ред
рд╕реНрдкреНрд░рд┐рдВрдЧ mvc
рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдкреНрд░рд┐рдВрдЧ рдПрдорд╡реАрд╕реА рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдХрд╣рд╛рдиреА рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╣рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХрдИ рдЕрдЪреНрдЫреЗ рдЙрдиреНрдирдпрди рдереЗред рдореИрдВ рдЙрди рдкрд░ рдирд┐рд╡рд╛рд╕ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ 5 рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рджреЗрдЦреЗрдВред
рд╕реНрдкреНрд░рд┐рдВрдЧ рд╡реЗрдмрдлреНрд▓рдХреНрд╕
рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдбреЗрдЯрд╛ рдлрд╝реНрд▓реЛ рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдХрд╣рд╛рдиреА рдХреЗ рд▓рд┐рдП рдХреЗрдВрджреНрд░реАрдп рд╣реИрдВред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рддрд░рд╣ рдХреА рд╕реЛрдЪ рд╣реИ, рд▓реЗрдХрд┐рди, рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдП рддрд░реАрдХреЗ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рддреНрдпрд╛рдЧрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕реНрдкреНрд░рд┐рдВрдЧ рд╡реЗрдмрдлреНрд▓рдХреНрд╕ рдЦрд░реЛрдВрдЪ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдПрдХ рдмрд┐рд▓реНрдХреБрд▓ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдФрд░ рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рдврд╛рдВрдЪрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкреНрд░рддрд┐рдорд╛рди рдореЗрдВ рдПрдХ рдХреНрд░рд╛рдВрддрд┐ рд╣реИ, рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдХреЛрдЯрд▓реАрди рд╕рдкреЛрд░реНрдЯ
рдХреЛрдЯрд▓рд┐рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди http://start.spring.io рдореЗрдВ рд╡рд╛рдкрд╕ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ 5 рдореЗрдВ рдЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╕рдорд░реНрдерди рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд▓рд╛рддрд╛ рд╣реИ, рдЖрдк рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░реАрдХреНрд╖рдг рд╕рдВрд╡рд░реНрджреНрдзрди
рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдкрд░рд┐рд╡рд░реНрддрди JUnit 5 рдмреГрд╣рд╕реНрдкрддрд┐ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдерди рд╣реИред рдореИрдВ рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 2 рдкрд░ рдПрдХ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддрдм рднреА рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ JUnit 4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, JUnit 5 рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдПрдХ рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рд╣реИред
рд╡рд╕рдВрдд рдмреВрдЯ 2 рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ
рдерд░реНрдб рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЕрдкрдбреЗрдЯ
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдирдП рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде, рд╕реНрдкреНрд░рд┐рдВрдЧ рдЯреАрдо рдХреЗ рдкрд╛рд╕ рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред
- Thymeleaf 3 *
- рдЬреЗрдЯреНрдЯреА 9.4
- рдЯреЛрдорд╛рдХрдЯ 8.5
- рд╣рд╛рдЗрдмрд░рдиреЗрдЯ 5.2
- рдлреНрд▓рд╛рдИрд╡реЗ 5
- рдЧрд╛рдж рек
* рдерд╛рдЗрдореЗрд▓реНрдл рд╕реНрдЯрд╛рд░реНрдЯрд░ рдореЗрдВ рдЕрдм рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдерд╛рдЗрдореЗрд▓рдл-рдПрдХреНрд╕рдЯреНрд░рд╛-рдЬрд╛рд╡рд╛ 8 рдЯрд╛рдЗрдо рд╣реИред
рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд╕реНрдкреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛
рд╕реНрдкреНрд░рд┐рдВрдЧ рд╡реЗрдмрдлреНрд▓рдХреНрд╕ рдХреА рдУрд░ рдмрдврд╝рдиреЗ рдХреЗ рд╕рд╛рде, рд╕реНрдкреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рдиреЗ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдбреЗрдЯрд╛ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рд╣реИред рдХреИрд╕рдВрдбреНрд░рд╛, рдореЛрдВрдЧреЛрдмреАрдбреА, рдХрд╛рдЙрдЪрдмреЗрд╕ рдФрд░ рд░реЗрдбрд┐рд╕ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдПрдкреАрдЖрдИ рд╕рдорд░реНрдерди рд╣реИред рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдореЗрдВ рдЙрди рд╕рднреА рдХреЗ рд▓рд┐рдП рдкреЛрдо рд╢реБрд░реБрдЖрдд рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рд╣рдорд╛рд░реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реНрдкреНрд░рд┐рдВрдЧ рд╕реБрд░рдХреНрд╖рд╛ 5.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрд╡рд╕рд░ рднреА рд╣реИред
рдЧрддрд┐ рджреЗрдиреЗрд╡рд╛рд▓рд╛
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдПрдХреНрдЯреНрдпреВрдПрдЯрд░ рдХреБрдЫ рднреА рдирдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЦрд░реЛрдВрдЪ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХреНрдЪреБрдПрдЯрд░ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рдРрд╕рд╛ рд╣реИ: рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 1.x рдореЗрдВ рдПрдХреНрдЯреНрдпреВрдПрдЯрд░ рд╕рд░реНрд╡рд▓реЗрдЯреНрд╕ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдирдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рд╕рд╛рде, рд╕реНрдкреНрд░рд┐рдВрдЧ рдЯреАрдо рдХреЛ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬреЛ рдкреБрд░рд╛рдиреЗ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рджреЛрдиреЛрдВ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдПрдХреНрдЪреБрдПрдЯрд░ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрджрд▓рд╛рд╡ рдХрд┐рдП рдЧрдП рд╣реИрдВ:
- рд╕рд░реНрд╡рд▓реЗрдЯ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╕реНрд╡рд░реВрдк
- рд╕реНрдерд┐рддрд┐ рдФрд░ рд╡рд┐рд╕реНрддреГрдд рд╕реНрд╡рд╛рд╕реНрдереНрдп-рдЬрд╛рдВрдЪ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ
- рд╕рд░рд▓реАрдХреГрдд рд╕реБрд░рдХреНрд╖рд╛ рдореЙрдбрд▓
- рдорд╛рдЗрдХреНрд░реЛрдореАрдЯрд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ (рдпрд╣ SLF4J рдХреА рддрд░рд╣ рд╣реИ, рдХреЗрд╡рд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП)
- рдмреЗрд╣рддрд░ JSON рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛
- рдХрд╕реНрдЯрдо рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ред
- endpoint
- @WebEndpoint
- @JmxEndpoint
рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдореЙрдбрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдХрд╛рд░рдг рдЙрдиреНрдирдпрди рдореЗрдВ рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдмрд╛рдж рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рднреА рд╡реЗрдм-рдПрдВрдбрдкреЙрдЗрдВрдЯ рдлреЙрд░реНрдо /actuator/{id}
URL рдХреЗ рд╕рд╛рде /actuator
рдкрде рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд╣реИрдВред / actuator
рдкрде рдХреЛ management.endpoints.web.base-path
рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдПрдХреНрдЯреНрдпреВрдПрдЯрд░ рд╡реЗрдм рдПрдкреАрдЖрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕реЗ рдЕрд▓рдЧ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдмреНрд▓реЙрдХ рд╣реИ , рдпрд╣ рдЗрд╕ рдЯреВрд▓ рдХрд╛ рдкрд░рд┐рдЪрдп рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рдЧреНрд░реЗрдбрд▓ рдкреНрд▓рдЧрд┐рди
рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдЧреНрд░реЗрдбрд▓ рдмрд╣реБрдд рдкрд╕рдВрдж рдЖрдпрд╛, рдФрд░ рдореБрдЭреЗ рдмрд╕ рдЗрд╕ рдмрд╛рдд рдХреА рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЯреАрдо рдиреЗ рдЧреНрд░реЗрдбрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдЧреНрд░реЗрдб рдкреНрд▓рдЧрдЗрди рдЖрдкрдХреЛ рдЧреНрд░реЗрдбрд▓ рдореЗрдВ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рд╕рдорд░реНрдерди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЬрд╛рд░ рдпрд╛ рдпреБрджреНрдз рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЛ рдкреИрдХреЗрдЬ рдХрд░рдиреЗ, рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдиреЗ рдФрд░ рд╕реНрдкреНрд░рд┐рдВрдЧ-рдмреВрдЯ-рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдореЗрдВ рдЧреНрд░реЗрдб рдкреНрд▓рдЧ рдЗрди рдХреЗ рд▓рд┐рдП рдЧреНрд░реЗрдб рд╕рдВрд╕реНрдХрд░рдг 4.0 рдФрд░ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд╢реБрд░реБрдЖрдд рд╣реЛ рд░рд╣реА рд╣реИ
рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
buildscript { repositories { maven { url 'https://repo.spring.io/libs-milestone' } } dependencies { classpath 'org.springframework.boot:spring-boot-gradle-plugin:2.0.0.RC1' } } apply plugin: 'org.springframework.boot'
рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЬрд╛рд░ рдФрд░ рдпреБрджреНрдз рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдмрдирд╛рдирд╛
рдХреНрд░рдорд╢: рдЬрд╛рд░ рдФрд░ рд╡реЙрд░ рдлрд╛рдЗрд▓реНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП bootJepackage рдХрд╛рд░реНрдп рдХреЛ bootJar рдФрд░ bootWar рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рджреЛрдиреЛрдВ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдорд╛рдирдХ рдЧреНрд░реИрдб рд╕рдорд╛рди рдХрдорд╛рдВрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ, рдЬреЛ рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рддрд░реНрдХ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдЧреНрд░реИрдбрд▓ рдкреНрд▓рдЧрдЗрди рдЕрдм рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди рдкреНрд▓рдЧрдЗрди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЦреАрдВрдЪрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЧреНрд░реИрдбрд▓ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдкреНрд▓рдЧрдЗрди рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди рдкреНрд▓рдЧрдЗрди рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдмреАрдУрдПрдо рдХреЗ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдмреЗрд╣рддрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдФрд░ рдХреИрд╕реЗред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди рдкреНрд▓рдЧрдЗрди рдЬреЛрдбрд╝рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:
apply plugin: 'io.spring.dependency-management'
рдЧреНрд░реИрдбрд▓ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЕрдкрдирд╛ рдкреНрд░рд▓реЗрдЦрди рд╣реИ , рдЬрд┐рд╕рдореЗрдВ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЬреЛ рдХреЛрдИ рднреА рдЧреНрд░реЗрдбрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рд╡рд╣ рдЗрд╕ рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░реЗред
рд╕рд░рд▓реАрдХреГрдд рд╕реБрд░рдХреНрд╖рд╛
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 2.x рдореЗрдВ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдирд╛ рдФрд░ рдХрд╕реНрдЯрдо рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдирд╛ рдерд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реНрдереИрддрд┐рдХ рд╕рдВрд╕рд╛рдзрди рдФрд░ рдПрдХреНрдЪреБрдПрдЯрд░ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрджрд┐ рд╕реНрдкреНрд░рд┐рдВрдЧ рд╕реБрд░рдХреНрд╖рд╛ @EnableWebSecurity
, рддреЛ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ @EnableWebSecurity
рдПрдиреЛрдЯреЗрд╢рди рдЬреЛрдбрд╝ рджреЗрдЧрд╛, рдФрд░ рдЬреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╡рд╣ рд╕реНрдкреНрд░рд┐рдВрдЧ рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗ рд╕рд╛рдордЧреНрд░реА-рдмрд╛рддрдЪреАрдд рддрдВрддреНрд░ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░реЗрдЧрд╛ред
рдЬрдм рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рдпрдореЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдорд╛рдирдХ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рд╕реБрд░рдХреНрд╖рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛ред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рднреА рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рдпрдореЛрдВ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рд╡рд░реНрддрдиреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╕рднреА рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдПрдХрддреНрд░ рдХреА рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рдореМрдЬреВрджрд╛ WebSecurityConfigurerAdapters
рд╕рд╛рде рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХрдорд╛рдВрдб рдХреЗ рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:
http .authorizeRequests() // 1 .requestMatchers(EndpointRequest.to("status", "info")) .permitAll() // 2 .requestMatchers(EndpointRequest.toAnyEndpoint()) .hasRole("ACTUATOR") // 3 .requestMatchers(StaticResourceRequest.toCommonLocations()) .permitAll() // 4 .antMatchers("/**") .hasRole("USER") .and() ... // additional configuration
/status
рдФрд░ /info
рдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред- рдЕрдиреНрдп рд╕рднреА рдПрдХреНрдЯреНрдпреВрдПрдЯрд░реНрд╕ рдПрдХреНрдЯреНрдпреВрд▓реЗрдЯрд░ рдХреА рднреВрдорд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВред
- рд╕рд╛рдЭрд╛ рд╕реНрдерд┐рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╕реНрдерд╛рди рд╕рднреА рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред
- рдЕрдиреНрдп рд╕рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ
USER
рднреВрдорд┐рдХрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВред
рдПрдХреНрдЯреНрдпреВрдПрдЯрд░ рд╕реБрд░рдХреНрд╖рд╛
рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рдПрдХреНрдЯреНрдпреВрдПрдЯрд░ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдареАрдХ рд╣реИрдВ, рдЖрдкрдХреЛ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХреЛ рд╕рдХреНрд╖рдо рдпрд╛ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣рд╛рдВ рдРрд╕реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреА рд╣реИрдВ, рд╡реЗ 1.x рд░рд┐рд▓реАрдЬ рдХреЗ рдмрд╛рдж рд╕реЗ рдмрджрд▓ рдЧрдП рд╣реИрдВред
# ENDPOINTS WEB CONFIGURATION (WebEndpointProperties) management.endpoints.web.exposure.include=info,health # Endpoint IDs that should be included or '*' for all. management.endpoints.web.exposure.exclude= # Endpoint IDs that should be excluded. management.endpoints.web.base-path=/actuator # Base path for Web endpoints. Relative to server.servlet.context path or management.server.servlet.context-path if management.server.port is configured. management.endpoints.web.path-mapping= # Mapping between endpoint IDs and the path that should expose them.
рдпрджрд┐ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреИрд╕реЗ рдХрд░реЗрдВ, рддреЛ рд╕рд╛рдорд╛рдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдмреБрдХрдорд╛рд░реНрдХ рдХрд░реЗрдВред
HTTP / 2 рд╕рдорд░реНрдерди
рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ, HTTP 1.1 рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреА рд░рд┐рд▓реАрдЬрд╝ 1996 рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдереАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдпрд╣ рдпрд╛рдж рджрд┐рд▓рд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдХ рдЖрдзреБрдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рд╣рд░ рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИред рдпрджрд┐ рдЖрдк рд╕реНрдкреНрд░рд┐рдВрдЧ MVC рдпрд╛ WebFlux рдкрд░ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ HTTP / 2 рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрди рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
server.http2.enabled=true
HTTP / 2 рд╕рдорд░реНрдерди рдЪрдпрдирд┐рдд рд╡реЗрдм рд╕рд░реНрд╡рд░ рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ JDK8 рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВред
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 1.x рдореЗрдВ, рддрдерд╛рдХрдерд┐рдд рдЖрд░рд╛рдо рдмрдВрдзрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдк рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдКрдВрдЯ-рдХреЗрд╕, рдЕрдВрдбрд░рд╕реНрдХреЛрд░, рд╣рд╛рдЗрдлрд╝рди), рдФрд░ рдЕрдВрдд рдореЗрдВ, рдореВрд▓реНрдп рдЙрд╕реА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рдерд╛ред
рд░рд┐рд▓реИрдХреНрд╕реНрдб рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдФрд░ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рд╡реИрд░рд┐рдПрдмрд▓ рдкрдврд╝реЗ рд╣реИрдВ, рд╡рд╣ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ:

24. рдмрд╛рд╣рд░реА рд╡рд┐рдиреНрдпрд╛рд╕
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрд╛рд╣рд░реА рдмрдирд╛рдиреЗ рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ ... docs.spring.io рдореЗрдВ рд╕рдорд╛рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХреЗрдВ
рдореАрдЯреНрд░рд┐рдХ
рдХрд╕реНрдЯрдо рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдореАрдЯреНрд░рд┐рдХ рдХреЛ рдорд╛рдЗрдХреНрд░реЛрдореАрдЯрд░ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ Pivotal рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ Pivotal рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рддреЗрдЬрд╝реА рд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдПрдХреНрдЯреНрдпреВрдПрдЯрд░ рдорд╛рдЗрдХреНрд░реЛрдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдСрдЯреЛрдХреИрдирдлрд┐рдЧрд░реЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореАрдЯреНрд░рд┐рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЬреЛ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

Https://romrometer.io/ рдкрд░ рдорд╛рдЗрдХреНрд░реЛрдореАрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАред
рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рдПрдХ рдЙрдиреНрдирдпрди рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рджрд░реНрджрдирд╛рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХрд╕реНрдЯрдо рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдЯрди рд▓реЙрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рд╢реЗрдбреНрдпреВрд▓рд░
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 2 рдореЗрдВ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдЕрдиреБрд╕реВрдЪрд┐рдд рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИ, рдЬреЛ рд╕реНрдкреНрд░рд┐рдВрдЧ-рдмреВрдЯ-рд╕реНрдЯрд╛рд░реНрдЯрд░-рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИред рд░реИрдо рдФрд░ рдЬреЗрдбреАрдмреАрд╕реА рдкрд░ рдХрд╛рдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ред
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency>
HikariCP рдХрдиреЗрдХреНрд╢рди рдкреВрд▓
рдорд╛рдирдХ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рдЯреЙрдордХреИрдЯ рд╕реЗ рд╣рд┐рдХрд╛рд░реАрдкреАрдкреА рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреЗ Tomcat рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Hikari рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП spring.datasource.type рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реА рддрд░рд╣, рдпрджрд┐ рдЖрдк рдЯреЙрдордХреИрдЯ рдкреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдмрд╕ рдЕрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдирд┐рдореНрди рдЬреЛрдбрд╝реЗрдВ:
spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
рдбреЗрд╡рд▓рдкрд░ рдЙрдкрдХрд░рдг
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╣рд░ рдмрд╛рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЕрдВрддрд░ рдкрд░ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рджрд░реНрдЬ рдХреА рдЬрд╛рддреА рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд░рд┐рдкреЛрд░реНрдЯ рдЙрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдСрдЯреЛ-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдмрджрд▓рд╛рд╡ рджрд┐рдЦрд╛рддреА рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдо рдХреЛ рд╣рдЯрд╛рдиреЗ / рдЬреЛрдбрд╝рдиреЗ / рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдЬреИрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:
spring.devtools.restart.log-condition-evaluation-delta=false
рдХреЛрдЯрд▓реАрди рд╕рдкреЛрд░реНрдЯ
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдкрд╣рд▓реЗ, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХреЛрдЯрд▓рд┐рди рд╕рдорд░реНрдерди рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреЛрдЯрд▓рд┐рди рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдмреНрд▓реЙрдХ рднреА рд╣реИред
рдЬреВрдирдд рел
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдЬреБрдЗрдирд┐рдЯ 4 рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрднреА рднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк JUnit 5 рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ JUnit 4 рдХреЛ рд╕реНрдкреНрд░рд┐рдВрдЧ-рдмреВрдЯ-рд╕реНрдЯрд╛рд░реНрдЯрд░-рдЯреЗрд╕реНрдЯ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдиреАрдЪреЗ рджреА рдЧрдИ рд╕реВрдЪреА рд╕реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>junit</groupId> <artifactId>junit</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <dependencies> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-surefire-provider</artifactId> <version>${junit-platform.version}</version> </dependency> </dependencies> </plugin> </plugins> </build>
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 2 рдЕрдкрдЧреНрд░реЗрдб рдЧрд╛рдЗрдб
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрддрдиреА рдмрдбрд╝реА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рд╣реА рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдмрджрд▓рдирд╛ рдЙрдиреНрдирдпрди рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 2.0 рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЧрд╛рдЗрдб рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛ ред рдирд┐рдЬреА рддреМрд░ рдкрд░, рдореБрдЭреЗ рдЕрдкрдиреА рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╕реБрд░рдХреНрд╖рд╛ рдореЙрдбрд▓ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд╛ рд╣рд▓ рдорд┐рд▓рд╛ред рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдмреЗрд╣рддрд░реАрди рд╕реБрдЭрд╛рд╡ рд╣реИрдВред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 2.0 рдореЗрдВ, рдХрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ / рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП application.properties
/ application.yml
рдХреЛ рдЕрдкрдбреЗрдЯ application.properties
ред рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдиреЗ рдПрдХ рдирдпрд╛ spring-boot-properties-migrator
рдореЙрдбреНрдпреВрд▓ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рди рдХреЗрд╡рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдЧрд╛ рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛, рдмрд▓реНрдХрд┐ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рднреА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдЧрд╛ред рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдХрджрдо рд╣реИ:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-properties-migrator</artifactId> </dependency>
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ 2 рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреВрдВрдЧрд╛ рдФрд░ рдХреЛрдб рдХреЛ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдорддреМрд░ рдкрд░ рдХрд┐рд╕реА рднреА рдмрдбрд╝реА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде, рдореИрдВ рдЕрдЧрд▓реЗ рдЫреЛрдЯреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рди рдХреЗрд╡рд▓ рд╕реНрдкреНрд░рд┐рдВрдЧ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдРрдкреНрдкрд▓ рд╕реЗ рдЕрдиреНрдп рдмреНрд░рд╛рдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП Pivotal рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдВрдЧреНрд░реА рдмрд░реНрдбреНрд╕ рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ!