๊ด€๋ฆฌ ๋ฉ”๋‰ด

C-log

4week ๋ณธ๋ฌธ

๐Ÿ“•JAVA/Spring

4week

4:Bee 2024. 4. 4. 15:19
728x90

๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„

DataBinding

Data Binding์€ ์š”์ฒญ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ "ํผ ๋นˆ" ๋˜๋Š” "์ปค๋งจ๋“œ ๊ฐ์ฒด"์— ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๊ณผ์ •์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ํผ์—์„œ ์˜ค๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ž๋™์œผ๋กœ ๊ฐ์ฒด์— ๋ฐ”์ธ๋”ฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ์˜ ์š”์ฒญ์—์„œ ์ „๋‹ฌ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋ฐ” ๊ฐ์ฒด์— ๋งคํ•‘ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์›น ํผ์—์„œ ์ž…๋ ฅํ•œ ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„, ์ด๋ฉ”์ผ, ๋น„๋ฐ€๋ฒˆํ˜ธ ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž๋ฐ” ๊ฐ์ฒด์˜ ํ•„๋“œ์— ๋งคํ•‘๋˜์–ด ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ์ž๋Š” ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ถ”์ถœํ•˜๊ณ  ๋ณ€ํ™˜ํ•˜๋Š” ์ˆ˜๊ณ ๋ฅผ ๋œ ์ˆ˜ ์žˆ๊ณ , ์ฝ”๋“œ๋ฅผ ๋” ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@RequestMapping(value="/docreate", method=RequestMethod.POST)

public String doCreate(Offer offer) {

// offer object will be automatically populated 
// with request parameters

}

์œ„์˜ ์ฝ”๋“œ์—์„œ @RequestMapping ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ง€์ •๋œ ๋ฉ”์„œ๋“œ๋Š” POST ์š”์ฒญ์ด "/docreate" ๊ฒฝ๋กœ๋กœ ๋“ค์–ด์˜ฌ ๋•Œ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฉ”์„œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ Offer ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๊ฐ€ ์„ ์–ธ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Spring์€ ์ด ๊ฐ์ฒด๋ฅผ ์ž๋™์œผ๋กœ ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ฐ”์ธ๋”ฉํ•˜์—ฌ ํ•ด๋‹น ๊ฐ์ฒด์— ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

ํ•ด๋‹น ๋ฐ”์ธ๋”ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ

1. ์ƒˆ๋กœ์šด ํผ ๋นˆ(form bean)์ด ์ธ์Šคํ„ด์Šคํ™”๋ฉ๋‹ˆ๋‹ค.
2. ํผ ๋นˆ์€ ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ๋ถ€ํ„ฐ ๊ฐ’์„ ๋ฐ›์•„์˜ต๋‹ˆ๋‹ค. (์ฆ‰, ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ํผ ๋นˆ์˜ ํ•„๋“œ์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.)
3. ํผ ๋นˆ์€ ๋ชจ๋ธ์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. (๋ชจ๋ธ์— ํผ ๋นˆ์ด ์ถ”๊ฐ€๋˜๋ฉด, ์ด ํผ ๋นˆ์„ ๋ทฐ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.)

ํผ ๋นˆ์ด ์–ด๋–ป๊ฒŒ ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ชจ๋ธ์— ์—ฐ๊ฒฐ

"offer" ํผ ๋นˆ์ด ์ž๋™์œผ๋กœ ๋ชจ๋ธ์— ์ถ”๊ฐ€๋  ๊ฒƒ์ด๋ฉฐ, ํผ ๋นˆ์€ ๋ชจ๋ธ ์†์„ฑ ์ž…๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์ƒ์„ฑ๋œ "offer" ํผ ๋นˆ์€ ๋ชจ๋ธ์— ์ž๋™์œผ๋กœ ์ถ”๊ฐ€๋˜์–ด ๋ทฐ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


Hibernate Validator

Hibernate Validator๋Š” ์‚ฌ์šฉ์ž์˜ ์˜ค๋ฅ˜๋ฅผ ๊ฐ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํผ ๋นˆ์— ์บก์Šํ™”๋œ ํผ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Bean Validation API (JSR-303)๋Š” JavaBean ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์œ„ํ•œ API๋ฅผ ์ •์˜ํ•˜๋Š” ๋ช…์„ธ์ž…๋‹ˆ๋‹ค. ๋นˆ ์†์„ฑ์— ์„ ์–ธ์  ์œ ํšจ์„ฑ ์ œ์•ฝ์„ ์ฃผ์„์œผ๋กœ ๋‹ฌ์•„์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด @NotNull, @Pattern, @Size์™€ ๊ฐ™์€ ์ œ์•ฝ ์กฐ๊ฑด์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Data Buffering

 

728x90

'๐Ÿ“•JAVA > Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

6week  (0) 2024.04.21
5week  (0) 2024.04.20
3week - MVC  (0) 2024.03.20
2week  (0) 2024.03.12
OT - 1week  (0) 2024.03.05
Comments