рдЬреЗрдмреНрд░реЗрд▓ рдХреНрд╡рд┐рдХрд╛рд░реНрдЯрд╛рд░реНрдЯ

рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдЬреЗрдмреНрд░реЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝реА рдмрд╛рдд рдХреА рдФрд░ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдм рдореИрдВ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЖрдк рдЬреЗрдмреНрд░реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЪрд░рдг рджрд░ рдЪрд░рдгред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреЗрдЯрдХреНрд▓рд┐рдирд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЗрдВ, рдЬрд┐рд╕рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб GitHub рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рдореИрдВ рдПрдХ IDE рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ IntelliJIDEA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред


рдЯреНрд░реЗрдирд┐рдВрдЧ


JRebel4IntelliJ


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, IntelliJIDEA рдХреЗ рд▓рд┐рдП JRebel рдкреНрд▓рдЧрдЗрди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред рд╕реЗрдЯрд┐рдВрдЧреНрд╕ -> рдкреНрд▓рдЧрдЗрдиреНрд╕ рдкрд░ рдЬрд╛рдПрдВ , рдмреНрд░рд╛рдЙрдЬрд╝ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ... , рд╣рдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЬреЗрдмрд░реЗрд▓ рдкреНрд▓рдЧрдЗрди рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ - рдЖрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдкрд╣рд▓реА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



Petclinic


рдЕрднреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

git clone git://github.com/xebia-france-training/xebia-petclinic.git

рдЖрдИрдбреАрдИ рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЦреЛрд▓реЗрдВ ( рдПрдХ рдорд╛рд╡реЗрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ )ред

рдЫреЛрдЯреА рд╕реА рд╕реЗрдЯрд┐рдВрдЧ


1. рд╡рд┐рджреНрд░реЛрд╣реА рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВред xml



рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рджреНрд░реЛрд╣реАред xml рд╕рд╣реЗрдЬреЗрдВ , рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рдпрд╛ рддреЛ src / main / java рдореЗрдВ рдпрд╛ src / main / resource рдореЗрдВ ред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж, rebel.xml WEB-INF / рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛред

2. rebel.xml рдореЗрдВ рдореБрдЦреНрдп / рдЬрд╛рд╡рд╛ / рд╕рдВрд╕рд╛рдзрди рдЬреЛрдбрд╝реЗрдВ

рдЪреВрдВрдХрд┐ рдпрд╣ рдкреНрд▓рдЧрдЗрди rebel.xml рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ , рдЬрд┐рд╕рдХреЗ рд╕реНрд░реЛрдд рд╕реНрд░реЛрдд рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд ( рд▓рдХреНрд╖реНрдп \ рдХрдХреНрд╖рд╛рдПрдВ ) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЬрд╣рд╛рдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди ( рдореБрдЦреНрдп / рд╡реЗрдмрдПрдк ) рдХреА рд╡реЗрдм рдкрд╛рд░реНрдЯ рдлрд╛рдЗрд▓реЗрдВ рд╕реНрдерд┐рдд рд╣реЛрддреА рд╣реИрдВ, рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрде рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред ред рдлрд┐рд▓рд╣рд╛рд▓, рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рдорд╛рдорд▓рд╛ рд╣реИ - src / main / resource directory рдХреЛ рдЬрдирд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ rebel.xml рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреБрдЫ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдмрд╛рдж рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдЙрдкрдпреБрдХреНрдд рддрддреНрд╡ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░рд╛ рдирдпрд╛ rebel.xml рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:



рдХреБрдЫ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рд╡реЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд┐рджреНрд░реЛрд╣реА.рдПрдХреНрд╕рдПрдордПрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдЙрдЪрд┐рдд рд╣реИ, рдЬрд┐рд╕реЗ рддрджрдиреБрд╕рд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╣рдо рдЬреЗрдмреНрд░реЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ


рд▓рд╛рдВрдЪ

рд╣рдо Tomcat 7 рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдПрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Edit configurations рдЪреБрдиреЗрдВ ред



рдЯреЙрдордХреИрдЯ рдЪреБрдиреЗрдВ -> рд╕реНрдерд╛рдиреАрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди



рдЕрдЧрд▓рд╛, рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп рдЬреЛрдбрд╝реЗрдВред рд╡рд┐рдХрд▓реНрдк рдпрд╣ рддрдп рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрд╡реЗрджрди рдХреЛ рдкреИрдХреЗрдЬреНрдб рдпрд╛ рдЕрдирдкреИрдХреНрдб ( рдПрдХреНрд╕рдкреНрд▓реЛрдбреЗрдб ) рдореЛрдб рдореЗрдВ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдордиреЗ рдЕрдирдкреИрдХреНрдб рдореЛрдб рдХреЛ рдЪреБрдирд╛ рд╣реИред

рдХрд┐рдП рдЧрдП рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдмрд╛рдж, рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред



рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рд▓реЙрдиреНрдЪ рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦреЗрдВрдЧреЗ:



рд╡рд╣ рд╣реИ - рд╕рдм рдареАрдХ рд╣реИ - рдЬреЗрдмреНрд░реЗрд▓ рдЪрд╛рд▓реВ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕реЗ рд╣реА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдЧреЗ рдмрдврд╝рддреА рд╣реИ, рдЖрдкрдХреЛ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ рдХрд┐ JRebel рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдЯреНрд░реИрдХ рдХрд░реЗрдЧрд╛:



рдпреЗ рд╡реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рд╡рд┐рджреНрд░реЛрд╣реА.рдПрдХреНрд╕рдПрдордПрд▓ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдереАрдВ ред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд╕рдордп, рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ JRebel рдХрд░реЗрдЧреА, рд╡рд╣ WEB-INF / рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╣рдорд╛рд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИ, рдФрд░ рдпрджрд┐ рд╕рдлрд▓ рд╣реЛрддреА рд╣реИ, рддреЛ рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рдХреЛ рд╡рд┐рджреНрд░реЛрд╣реА .xml рдореЗрдВ рдкрд╛рдП рдЧрдП рд░рд╛рд╕реНрддреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ ред рдпрджрд┐ рд╡рд┐рджреНрд░реЛрд╣реА . xml рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЙрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рддреЛ рдПрдХ "рд░реЛрд▓рдмреИрдХ" рд╕рд╛рдорд╛рдиреНрдп рд▓реЛрдбрд░ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛, рдЕрд░реНрдерд╛рддреНред рддреИрдирд╛рдд рдЖрд╡реЗрджрди рд╕реЗ рд╕рдВрд╕рд╛рдзрди рдЦреЛрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐


рдЖрдЗрдП рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ : 8080 рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрдпрд╛ рд╣реИ

рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВ рд╕реНрд╡рд╛рдореА рдвреВрдВрдвреЗрдВ , рдлрд┐рд░ рд╕реНрд╡рд╛рдореА рдЬреЛрдбрд╝реЗрдВ , рдФрд░ рдлрд╝реЙрд░реНрдо рдореЗрдВ рд░рд┐рдХреНрдд рдорд╛рдиреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рд╕рддреНрдпрд╛рдкрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╕реНрд╡реАрд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ:



рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ


рдЖрдЗрдП рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПред OwnerValidator рд╡рд░реНрдЧ рдкреНрд░рдкрддреНрд░ рдлрд╝реАрд▓реНрдб рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд╣рдо рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдзрд┐ рдореЗрдВ рдЪреЗрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ, рдФрд░ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдкрддреЗ рдХреА рдЬрд╛рдВрдЪ рдмрд┐рд▓реНрдХреБрд▓ рд╣рдЯрд╛ рджреЗрдВред рдпрд╛рдиреА OwnerValidator рд╡рд░реНрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореВрд▓ рддрд░реНрдХ рдореЗрдВ рдЫреЛрдЯреЗ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рдкрджреНрдзрддрд┐ рдЬреЛрдбрд╝реА рдЧрдИ, рдЬрд┐рд╕реЗ рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦреЗрдВрдЧреЗред



рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╡рд░реНрдЧ рдХреЛ рдлрд┐рд░ рд╕реЗ рджреЗрдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо рдЦрд╛рд▓реА рдбреЗрдЯрд╛ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЛ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреЗрдВрдЧреЗ:



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкрддрд╛ рдлрд╝реАрд▓реНрдб рдЕрдкреЗрдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред рдХрдВрд╕реЛрд▓ рдореЗрдВ, рдЖрдкрдХреЛ JRebel рдХреЗ рдирд┐рдореНрди рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ:



рдЬрдм OwnerValidator # рдорд╛рдиреНрдп рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреА рдЧрдИ рдереА, рдФрд░ рдЪреВрдВрдХрд┐ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, JRebel рдиреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рд╡рд░реНрдЧ рдХреЛ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ JRebel рдХреЙрд▓ рд╕реЗ рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рдХреНрд╖рдг рдореЗрдВ рд╣реА рдХрдХреНрд╖рд╛рдПрдВ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ - рдЗрд╕рд▓рд┐рдП рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрд▓рд╕реА рдореЛрдб рдореЗрдВред

рдЪрд▓рд┐рдП рдЕрдм рдХреБрдЫ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдЙрд╕реА рдлреЙрд░реНрдо рдкрд░ рдПрдХ рдФрд░ рд╡рд░реНрдЧ "рд╣реИрдВрдЧ" рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕реЗ FirstNameValidator рдХрд╣рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореИрд╕реЗрдЬ.рдкреНрд░реЛрдкрд░реЗрдЯреНрд╕ рдореЗрдВ рдПрдХ рдирдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЬреЛрдбрд╝реЗрдВ



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рд╕реНрдкреНрд░рд┐рдВрдЧ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдпрд╛ рд╡рд░реНрдЧ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред Petclinic-servlet.xml рдореЗрдВ рдПрдХ рдирдпрд╛ рдШрдЯрдХ рдЬреЛрдбрд╝реЗрдВ:



рдЕрдВрддрд┐рдо рдЪрд░рдг рдирд┐рдпрдВрддреНрд░рдХ рдХреЛрдб рдореЗрдВ @Autowired рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШрдЯрдХ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ AddOwnerForm рд╡рд░реНрдЧ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:



рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, 4 рдлрд╛рдЗрд▓реЗрдВ рдмрджрд▓реА рдЧрдИрдВ:

рдЕрдм рдЖрдкрдХреЛ рдирдИ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдлрд┐рд░ рд╕реЗ рдлреЙрд░реНрдо рднрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдЖрдк рдкрд╣рд▓реЗ рдирд╛рдо рдлрд╝реАрд▓реНрдб рдореЗрдВ "рдПрдВрдЯреЛрди" рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдорд╛рди рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЪреЗрдХ "рдПрдВрдЯреЛрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП" - рд╡рд╣реА рд╕рдВрджреЗрд╢ рдЬреЛ рд╣рдордиреЗ рд╕рдВрджреЗрд╢ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдерд╛ редрдкреНрд░рдпреЛрдЧ рдФрд░ FirstNameValidator рдореЗрдВ рдЙрдкрдпреЛрдЧ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ, рд╕реНрдкреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред ред



рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░


рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЫреЛрдЯрд╛ рдЧрд╛рдЗрдб рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ рдЬреЛ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЗрдмреНрд░реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рд╢реНрди рд╣реИрдВ - рд▓рд┐рдЦреЗрдВ - рдореБрдЭреЗ рдЙрддреНрддрд░ рджреЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА!

Source: https://habr.com/ru/post/In135922/


All Articles