ํธ๋์ญ์
์ปค๋ฅ์
๋งบ๋ ๊ณผ์ ์ฌ์ฉ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ ์ ์๋ค. ์ด๋ ์ฌ์ฉ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ์ฐ๊ฒฐ์ ์์ฒญํ๊ณ ์ปค๋ฅ์
์ ๋งบ๊ฒ ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ๋ ๋ด๋ถ์ ์ผ๋ก ์ธ์
์ ๋ง๋ ๋ค. ๊ทธ๋ฆฌ๊ณ ์ปค๋ฅ์
์ ํตํ ๋ชจ๋ ์์ฒญ์ ์ด ์ธ์
์ ํตํด ์คํํ๊ฒ ๋๋ค. ์ธ์
์ ํธ๋์ญ์
์ ์์ํ๊ณ , ์ปค๋ฐ ๋๋ ๋กค๋ฐฑ์ ํตํด ํธ๋์ญ์
์ ์ข
๋ฃํ๋ค. ์ฌ์ฉ์๊ฐ ์ปค๋ฅ์
์ ๋ซ๊ฑฐ๋ DBA๊ฐ ์ธ์
์ ๊ฐ์ ๋ก ์ข
๋ฃํ๋ฉด ์ธ์
์ด ์ข
๋ฃ๋๋ค. ์ฐธ๊ณ DataSource์ getConnection์ ํตํด ๊ฐ์ ธ์จ ์ปค๋ฅ์
์ ๊ธฐ๋ณธ์ ์ผ๋ก autoCommit ๋ชจ๋๋ก ๋์ํ๋ค. ํ์ง๋ง autoCommit ๋ชจ๋๋ก ๋์ํ๋ฉด ์ฟผ๋ฆฌ๋ฅผ ํ๋ ์คํํ ๋๋ง๋ค ๋ฐ๋ก ๋ฐ๋ก ์ปค๋ฐ์ด ๋์ด ๋ฒ๋ ค ํธ๋์ญ์
์ด ์ฌ์ค์ ์๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง์ด๋ค. ๊ทธ๋์ ์๋ฐ์์๋ ์๋ ์ปค๋ฐ ๋ชจ๋์์ ์๋ ์ปค๋ฐ ..
Study/Spring
์ธํฐ์
ํฐ๋ฅผ ํ ์ปจํธ๋กค๋ฌ์์ redirect ์ํค๋ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ๋ ๊น? ๐ง โ
์ธํฐ์
ํฐ ํ๋ฆ preHandle -> ์ปจํธ๋กค๋ฌ -> postHandle -> afterCompletion ๊ณ ๋ฏผ URL /test1๋ก ๋ค์ด์จ ์์ฒญ์ด ์ด๋ ์ธํฐ์
ํฐ๋ฅผ ํ๊ฒ ๋๋ค๋ฉด, ๋ค์๊ณผ ๊ฐ์ด ์งํ๋ ๊ฒ์ด๋ค. ์ผ๋จ preHandle๋ฅผ ํ๋ค. ๊ทธ ๋ค์ /A๋ฅผ RequestMappingํ ์ปจํธ๋กค๋ฌ์ ๋ก์ง์ ํ๊ฒ ๋๋ค. ํ์ง๋ง ์ปจํธ๋กค๋ฌ์์ /test2๋ก redirect๋ฅผ ์ํจ๋ค๋ฉด..? postHandle ๋ฉ์๋๋ฅผ ํ๊ฒ ๋ ๊น? ๊ฒฐ๋ก ๊ฒฐ๋ก ์ postHandle๋ ํ๋ค. afterCompletion๊น์ง ๋ชจ๋ ํ๋ค. [uri : /test1] preHandle [uri : /test1] controller , redirect [uri : /te..
Bean Validation ์ด๋? ๋จผ์ Bean Validation์ ํน์ ํ ๊ตฌํ์ฒด๊ฐ ์๋๋ผ Bean Validation 2.0(JSR-380)์ด๋ผ๋ ๊ธฐ์ ํ์ค์ด๋ค. ์ฝ๊ฒ ์ด์ผ๊ธฐํด์ ๊ฒ์ฆ ์ ๋
ธํ
์ด์
๊ณผ ์ฌ๋ฌ ์ธํฐํ์ด์ค์ ๋ชจ์์ด๋ค. Bean Validation์ ๊ตฌํํ ๊ธฐ์ ์ค์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ตฌํ์ฒด๋ ํ์ด๋ฒ๋ค์ดํธ Validator์ด๋ค. ๊ณต์ ์ฌ์ดํธ: http://hibernate.org/validator/ ๊ณต์ ๋ฉ๋ด์ผ: https://docs.jboss.org/hibernate/validator/6.2/reference/en-US/html_single/ ๊ฒ์ฆ ์ ๋
ธํ
์ด์
๋ชจ์: https://docs.jboss.org/hibernate/validator/6.2/reference/en-US/ html_s..
๋ฉ์ธ์ง ๋ฉ์ธ์ง๋ฅผ ํ์ผ๋ก ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ(messages.properties ํ์ผ์์ ๊ด๋ฆฌ) ๋ฌธ์์ด์ ํ๋์ฝ๋ฉํ์ง ์๊ณ ํ์ผ์ ์๋ ๊ฐ์ ์ฝ์ด์์ ๋ณด์ฌ์ค๋ค. item=์ํ item.id=์ํ ID item.itemName=์ํ๋ช
item.price=๊ฐ๊ฒฉ item.quantity=์๋ ๊ตญ์ ํ ๋๋ผ๋ณ๋ก ๋ฉ์ธ์ง ํ์ผ์ ๊ด๋ฆฌํด์ ๊ฐ ์ธ์ด์ ๋ง๋ ๋ฉ์ธ์ง ํ์ผ์ ๋ณด์ฌ์ฃผ๋ ๊ธฐ๋ฅ. ์ ์ ๊ฐ ์ ๊ทผํ ๋๋ผ๋ฅผ ํ์ธํ๋ ๋ฐฉ๋ฒ์ HTTP accept-language ํค๋ ๊ฐ์ ์ฌ์ฉํ๊ฑฐ๋ ์ฌ์ฉ์๊ฐ ์ง์ ์ธ์ด๋ฅผ ์ ํํ๊ฒ ํ๊ณ ์ฟ ํค ๊ฐ์ ์ด์ฉํ๋ฉด ๋๋ค. -> LocaleResolver ์ฌ์ฉ Locale์ด en_US ์ ๊ฒฝ์ฐ messages_en_US -> messages_en -> messages ์์๋ก ์ฐพ๋๋ค. ๊ตฌ์ฒด์ ์ธ ๊ฒ์ด ์์ผ๋ฉด ๊ตฌ..
Spring @RestController ์๋ต ์, ์ ์ ๋์ง ์์ ๊ฐ๋ ๊ฐ์ด ์๋ต๋๋ ์ด์ @Getter @Setter public class UserDomain { private String name; private int age; public boolean isTwenties() { if (this.age >= 20 && this.age < 30){ return true; } return false; } } ์์ ๊ฐ์ด, ๋๋ฉ์ธ ๊ฐ์ฒด ์์ ๋น์ฆ๋์ค ๋ก์ง์ด ํฌํจ๋ ๋ฉ์๋๊ฐ ์กด์ฌํ๋ค๊ณ ์์ํด๋ณด์. isTwenties() ๋ ํ์ฌ User์ ๋์ด๋ฅผ ํ๋จํ์ฌ 20๋์ธ์ง ์๋์ง๋ฅผ ์๋ ค์ฃผ๋ ๋ฉ์๋์ด๋ค. @RestController public class UserController { @GetMapping("/u..