์ „์ฒด ๊ธ€

Jpa pageable์„ ์ž˜๋ชจ๋ฅด์‹œ๋Š” ๋ถ„์€ ์•„๋ž˜์˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”~! 2021/02/03 - [WEB/JPA] - JAP Pageable ์‚ฌ์šฉํ•˜๊ธฐ JAP Pageable ์‚ฌ์šฉํ•˜๊ธฐ Page๊นŒ์ง€ ์™”๋‹ค๋Š”๊ฑด... ๊ธฐ๋ณธ์ ์ธ CRUD๋ฅผ ์•Œ๊ณ  ๊ณ„์‹  ์ƒํƒœ๋กœ ์ดํ•ดํ•˜๊ณ  ์ž‘์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! ํ• ์ผ : ๊ฐ„๋‹จํ•œ ๋ฆฌ์ŠคํŠธ ๋ฐ์ดํ„ฐ์— Page, Sort ๊ตฌํ˜„ํ•˜์—ฌ API๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. Service Entity์ž์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š”๊ฑด ์ ˆ๋•Œ๋กœ ํ•˜์ง€ ์•Š aejeong.com ์„ค์ • ์„ธํŒ… ๋ถ€ํ„ฐ ํ•ด๋ณผ๊ฒŒ์š” ~! 1. build.gradle implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 2. application.yml spring: thymeleaf: prefix: classp..
Page๊นŒ์ง€ ์™”๋‹ค๋Š”๊ฑด... ๊ธฐ๋ณธ์ ์ธ CRUD๋ฅผ ์•Œ๊ณ  ๊ณ„์‹  ์ƒํƒœ๋กœ ์ดํ•ดํ•˜๊ณ  ์ž‘์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! ํ• ์ผ : ๊ฐ„๋‹จํ•œ ๋ฆฌ์ŠคํŠธ ๋ฐ์ดํ„ฐ์— Page, Sort ๊ตฌํ˜„ํ•˜์—ฌ API๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. Service Entity์ž์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š”๊ฑด ์ ˆ๋•Œ๋กœ ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— Response dto๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ฐ˜ํ™˜ํ•˜๊ธฐ๋กœ ํ•ฉ๋‹ˆ๋‹ค. Repository์—์„œ ๋ฐ›์•„์˜จ Page UserEntity๋ฅผ Response์— ๋งตํ•‘ํ•ด์ค˜์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜ํ™˜ํ• ๋•Œ ์ƒ์„ฑ์ž์— stream์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ๊ฐ ๋งตํ•‘ ํ•ด์ค๋‹ˆ๋‹ค! ์—ฌ๊ธฐ์„œ finAny().orElse("") ๋Š” user์˜ ์ด๋ฏธ์ง€๊ฐ€ ํ•„์ˆ˜๋Š” ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— NPE์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— null์ผ ๊ฒฝ์šฐ String ํƒ€์ž…์˜ null์„ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ถ€๋ถ„์€ ์ข€๋” ์ฐพ์•„์„œ ์—…๋ฐ์ดํŠธ ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! public Page..
์•„์ฃผ ๊ธฐ๋ณธ์ ์ธ ์ฝ”๋“œ๊นŒ์ง€ ๋ชจ๋‘ ์žˆ์Šต๋‹ˆ๋‹ค.. ์™œ๋ƒ๋ฉด... ์ €๋„ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ๋“ค์„ ๋ณด๋ฉด์„œ ๋น ์ ธ์žˆ๋Š” ๋ถ€๋ถ„์„ ๋ณด๋ฉด ๋‚˜๊ฐ™์€ ์ดˆ๋ณด๋Š” ์–ด์ฉŒ๋ผ๊ณ  ํ•˜๋ฉฐ ์Šฌํผํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—,,, ์‚ฌ์‹ค Security์˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ Filter๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ JWT ๋ฐฉ์‹์„ ์ด์šฉํ•˜๋Š”๊ฒŒ ๋งž์ง€๋งŒ ํ”„๋กœ์ ํŠธ ํฌ๊ธฐ,, ๊ธฐ๊ฐ„์ƒ ๋ถˆํ•„์š”ํ•˜๋‹ค ํŒ๋‹จํ•˜๊ฒŒ ๋˜์–ด์„œ JWT ๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ๋‚˜์ค‘์— Security๋„ ๊ฐ™์ด ๊ตฌํ˜„ํ•˜์—ฌ ์˜ฌ๋ฆฌ๋„๋ก ํ•˜๊ฒ ์Œ! ์ด๋ฒˆ์—๋Š” git์— ์˜ฌ๋ ค ์ฝ”๋“œ๊นŒ์ง€ ๊ณต์œ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค! ์ฒ˜์Œ๋ณด๋ฉด ์•ฝ๊ฐ„ ๋ณต์žกํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋˜๊ณ  ๋‚˜๋˜ํ•œ ๊ทธ๋žฌ๋‹ค ใ… ใ… ,, (๋ถ€๋„๋Ÿฌ์šด) ๊ตฌํ˜„์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด์„œ ์ดํ•ดํ•˜๊ณ  ํ˜น์‹œ ์ด์ƒํ•œ๊ณณ์€ PRํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค...(๊ฐ„์ ˆ,,) git ์ฃผ์†Œ (์‹ค๋ฌด์—์„œ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ˆ˜์ •ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ~!) git clone https://github.com/ae..
๊ตฌ์กฐ ๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด resources์™€ ๊ฐ™์€ ๊ฒฝ๋กœ์— webapp์„ ๋งŒ๋“ค์–ด ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์•ˆ์— WEB-INF๋Š” ๋˜‘๊ฐ™์ด ๋งŒ๋“ค์–ด์ฃผ์‹œ๊ณ  application.yml์— ์„ค์ •์— ๋”ฐ๋ผ ์•ˆ์— ์žˆ๋Š” ํด๋” ์ด๋ฆ„์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. application.yml spring: mvc: view: prefix: /WEB-INF/jsp/ suffix: .jsp build.gradle // JSTL implementation 'javax.servlet:jstl:1.2' // JASPER implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' springboot์—์„œ jps๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์™ธ์žฅํ†ฐ์บฃ์„ ์˜์กด์„ฑ์œผ๋กœ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. jsp๋Š” ๊ทนํ˜์ด๋‹ˆ jstl๋„ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ํƒฌํ”Œ๋ฆฟ ..
FCM PUSH(IOS) - Java Spring Boot Server HTTP v1 ์‚ฌ์šฉํ•˜์—ฌ PUSH ์•Œ๋ฆผ ์ ์šฉํ•˜๊ธฐ ๋“œ๋””์–ด ๋งˆ๋ฌด๋ฆฌ ๋‹จ๊ณ„์— ์ ‘์–ด๋“ค์–ด PUSH๋ฅผ ์ ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ํšŒ์‚ฌ์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ PUSHY๋Š” ์ค‘๊ตญ์„œ๋น„์Šค์—์„œ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฒˆ์—๋Š” FCM์„ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ๊ณต์‹๋ฌธ์„œ๋Š” ์•„๋ž˜์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. firebase.google.com/docs/cloud-messaging/migrate-v1?authuser=0 JAVA ์„œ๋ฒ„์—์„œ ์ ์šฉํ•˜๋Š” ๋‚ด์šฉ์ž„์„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค! ํ”„๋ก ํŠธ์—์„œ ์„ค์ •ํ•ด์ฃผ๋Š” ๋ถ€๋ถ„์€ ๋”ฐ๋กœ ์žˆ์Šต๋‹ˆ๋‹ค! ์šฐ์„  ํ”„๋ก ํŠธ์—์„œ ํŒŒ์ด๋ฒ„๋ฒ ์ด์Šค ์ž‘์—…์ด ๋๋‚ฌ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์•ฑ์ถ”๊ฐ€๋œ ํ”„๋กœ์ ํŠธ์ด๋ฆ„ ํด๋ฆญ - ํ†ฑ๋‹ˆ๋ฐ”ํ€ด ๋ชจ์–‘ ํด๋ฆญํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ์„ค์ •์œผ๋กœ ๋“ค์–ด๊ฐ€์„ธ์š” ์ด ์„ค์ •์•ˆ์—์„œ json ํŒŒ..
์ธํ”„๋Ÿฐ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ - ์ตœ๋ฒ”๊ท ๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ ์€ํ•„๊ธฐ ๋…ธํŠธ์ž…๋‹ˆ๋‹ค. ์ง์ ‘ ์‹ค์ „์—์„œ Java๋ฅผ ์“ฐ๊ฒŒ ๋˜๋ฉด์„œ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ค‘์š”์„ฑ์ด ๋ผˆ๋ฅผ ๊ฐ•ํƒ€ํ–ˆ๋‹ค... ๊ณต๋ถ€ํ•˜์ž! "Software maintenance is not keep it working like before it is keep being useful in a changing world" - Jessica Kerr ์œ ์ง€๋ณด์ˆ˜๋Š” ๊ทธ๋Œ€๋กœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์œ ์šฉํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ถ„์„๊ณผ ์ˆ˜์ •์ด ๋น ๋ฅด๊ฒŒ ๋˜์–ด์•ผ ํ•œ๋‹ค. ๋น„์šฉ๊ณผ ๋ณ€ํ™” ๋‚ฎ์€ ๋น„์šฉ์œผ๋กœ ๋ณ€ํ™”ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. 1. ํŒจ๋Ÿฌ๋‹ค์ž„ ๊ฐ์ฒด ์ง€ํ–ฅ, ํ•จ์ˆ˜ํ˜•, ๋ฆฌ์•กํ‹ฐ๋ธŒ ๋“ฑ 2. ์ฝ”๋“œ, ์„ค๊ณ„, ์•„ํ‚คํ…์ฒ˜ DRY, TDD, SOLID, DDD, ... ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜, MSA, ... 3. ..
์˜ˆ์ „ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์‹œ ์จ์•ผํ•˜๋Š” ์ƒํ™ฉ์ด ์™”๋‹ค . . . ์ด๋ฏธ ์ด์งํ•˜์‹  ๋ถ„๊ป˜ Pemํ‚ค๊ฐ€ ์žˆ๊ณ  ์ธ์ˆ˜์ธ๊ณ„๊ฐ€ ์•ˆ๋˜์–ด์žˆ์–ด์„œ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด๋Š”๋ฐ AWS์— ๋Œ€ํ•ด ์™„์ „ํžˆ ๋ชจ๋ฅด๋Š” ์ƒํƒœ์—ฌ์„œ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ์ง€ ์•Š์•˜๋‹ค ใ…œใ…œ ๊ทธ๋ž˜์„œ,, ํ•˜๋ฃจ ์ข…์ผ ์‚ฝ์งˆํ•œ ๊ฒฝํ—˜์„ ๊ธฐ๋กํ•ด์„œ ๋‚˜์ค‘์— ๋˜ ์ด๋Ÿฐ ์ผ์ด ์žˆ์„ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋กํ•œ๋‹ค 1. key๋ฅผ ๋ถ„์‹คํ•œ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ •์ง€ํ•œ๋‹ค (stop) 2. ์ƒˆ๋กœ์šด ์ž„์‹œ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค 2-1. ssh-keygen -y -f text_key.pem ํ„ฐ๋ฏธ๋„์—์„œ ์ƒˆ๋กœ ๋งŒ๋“  ์ธ์Šคํ„ด์Šค์˜ ํ‚ค๊ฐ€ ์žˆ๋Š” ๊ณณ์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์œ„์™€ ๊ฐ™์ด ssh-keygen ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ฃผ๋ฉด ssh-rsa๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ธด ํผ๋ธ”๋ฆญ ํ‚ค๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ๋ณต์‚ฌํ•ด์„œ ์ €์žฅํ•ด๋‘์„ธ์š”! 3. [AWS > ELASTIC B..
์ด๋ฒˆ์— ์Šคํƒ€ํŠธ์—…์— ์ทจ์—…ํ•˜๋ฉด์„œ ๋งŽ์€ ๊ฑธ ๋ฐฐ์šฐ๋Š” ๋™์‹œ์— ๋งŽ์€ ๊ฒŒ ์‹ซ์–ด์กŒ๋‹ค. ํ•˜์ง€๋งŒ ๋ฒ„ํ‹ฐ๊ณ  ๋‚˜๋ฉด ์ถ”์–ต์ด๊ณ  ๋‚˜์˜ ๊ฒฝ๋ ฅ์ด ๋˜๊ฒ ์ง€ ... ใ…  ๊ฟป ์šฐ์„  ์ฒ˜์Œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋“ค์–ด๊ฐ€์„œ ์ฒ˜์Œ์œผ๋กœ ์‚ฌ์šฉํ•ด ๋ดค๋‹ค. ํ•™์›์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๋ฐฐ์› ์ง€๋งŒ ์ด๋ฒˆ์— ์‚ฌ์šฉํ•˜๋ฉด์„œ ๊ฐ€๋…์„ฑ๋ฉด์—์„œ ๋งค์šฐ ์ข‹๋‹ค๊ณ  ๋Š๊ผˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜์ค‘์„ ์œ„ํ•ด ์ •๋ฆฌํ•œ๋‹ค! Spring Boot ์—์„œ api ์„ค๊ณ„ ์ค‘ ๋ฐฐ์†ก ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๋ฉด์„œ ๋ฐฐ์†ก์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ํ•˜๋Š”๋ฐ 1,2,3... ๋“ฑ ์ˆซ์ž๋กœ ํ‘œํ˜„๋˜์–ด 1์ด ๋ฌด์—‡์ธ์ง€ 2๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ผ์ผ์ด ์ฐพ์•„๋ณด๊ธฐ ๋ฒˆ๊ฑฐ๋กœ์› ๋‹ค. ๋˜ํ•œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋•Œ ์–ด๋–ค ๊ฑด์ง€ ํ—ท๊ฐˆ๋ฆด ๊ฑฐ ๊ฐ™์•„ Enumํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. @Getter public enum SomethingStatus { PAYMENT_COMPLETE(0), PREPARING(1), CANCEL(..
ํ•˜๋ฃจ์ข…์ผ ์‚ฝ์งˆํ•œ๊ฑฐ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ถ„๋ช… ์–ธ์  ๊ฐ€ ๋˜ ์“ธ๊ฒƒ์ด์–ด๋‹ˆ.... ์šฐ์„  vscode๋กœ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. vscode ํ„ฐ๋ฏธ๋„์—์„œ npx create-react-app lasttest lasttest๋Š” ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋งŒ๋“ ํ›„ ํ„ฐ๋ฏธ๋„์—์„œ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ ๊ฒฝ๋กœ์—์„œ npm start๋กœ ์‹คํ–‰์ด ๋˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด ์นœ๊ตฌ๊ฐ€ ๋œฌ๋‹ค๋ฉด ๋ฐ”๋กœ node.js๋ž‘ ์—ฐ๋™ํ• ๊ฒŒ์š”. npm install express --save ์„ค์น˜ํ•ด์ฃผ์„ธ์š” express๋Š” NodeJS์˜ ์›นํ”„๋ ˆ์ž„์›Œํฌ ์ž…๋‹ˆ๋‹ค. ๊ฐ„ํŽธํ•˜๊ฒŒ ์›น์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์ฃ  ๊ทธ๋‹ค์Œ์— ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ํด๋”๋ฅผ ๋‚˜๋ˆ„์–ด ์ค„๊ป€๋ฐ์š” root๊ฒฝ๋กœ์— serverํด๋”๋ฅผ ๋งŒ๋“ค์–ด์ค€ ๋‹ค์Œ์— server.js ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š” const express = require('express'); co..
๋ฉด์ ‘๋ณด๊ธฐ ์œ„ํ•ด ๊ณผ์ œ๋ฅผ ํ•ด์•ผ ํ–ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ํŒŒ์ผ์„ ๋ฐ›์•˜๋Š”๋ฐ ๊ณ„์† ๊ตฌํ˜„ํ•ด์˜ค๋˜ ๊ตฌ์กฐ์™€๋Š” ๋งŽ์ด ๋‹ฌ๋ผ์„œ ์‹œ๊ฐ„์„ ๋งŽ์ด ์ผ๋‹ค. ํ•˜์ง€๋งŒ ์—ญ์‹œ๋‚˜ ์ธํ„ฐ๋„ท์„ ์ž์„ธํžˆ ๋ณด๊ณ  ์—„์ฒญ๋‚œ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ํ•œ ํ›„์— ์ ์‘ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์–ธ์ œ ๋‹ค์‹œ ์“ธ ์ˆ˜ ์žˆ์„์ง€ ๋ชฐ๋ผ ๊ธฐ๋กํ•ด ๋‘๊ธฐ๋กœ ํ–ˆ๋‹ค. Mapper์˜ SQL ID์™€ Mapper Interface์˜ ๋ฉ”์„œ๋“œ๋ช…๊ณผ ์ •ํ™•ํžˆ ๋งค์นญํ•ด์ค€๋‹ค๋ฉด ์ž๋ฐ”์—์„œ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜คํƒ€์— ๋Œ€ํ•œ ๊ฑฑ์ •์ด ์—†๋‹ค. ๊ฐœ๋ฐœ์„ ๋ฐฐ์šฐ๋ฉด์„œ ์“ฐ๋˜ ๊ตฌ์กฐ๋Š” ๋Œ€์ถฉ ์ด๋Ÿฐ์‹์ด์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋ฒˆ์— ๋ฐ›์€ ๊ณผ์ œ๋Š” Mapper Interface, Service class, sql.xml ์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€๋กœ ์žˆ์—ˆ๋‹ค. ์ฒ˜์Œ ๋ณธ ๊ตฌ์กฐ 1.propertis์—์„œ ์•Œ๋ฆฌ์•„์Šค๋ฅผ ์ด์šฉํ•ด sql์—์„œ dto๋กœ ์—ฐ๊ฒฐํ•ด์ฃผ๋˜ ๊ฒƒ์„ annotation์„ ์‚ฌ์šฉํ•˜๋ฉด ์•„์ฃผ ๊ฐ„๋‹จํ•˜..
๊ธฐ๋ณธํƒ€์ž… / ์ฐธ์กฐํƒ€์ž… ์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. (immutable / mutable) ๊ธฐ๋ณธํƒ€์ž…์€ ์ •์ˆ˜, ์‹ค์ˆ˜, ๋ฌธ์ž, ๋…ผ๋ฆฌ ๋ฆฌํ„ฐ๋Ÿด์„ ์ €์žฅํ•˜๋Š” ํƒ€์ž…์ž…๋‹ˆ๋‹ค. ์ข…๋ฅ˜ ๊ธฐ๋ณธํƒ€์ž… ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ณธ๊ฐ’ ์ •์ˆ˜ byte 8bit 1byte 0 char 16bit 2byte ์œ ๋‹ˆ์ฝ”๋“œ(\u0000), ASCII, ๋ฌธ์žํ˜• short 16bit (2byte) 0 int 32bit (4byte) 0 long 64bit (8byte) 0 ์‹ค์ˆ˜ (๋ถ€๋™ ์†Œ์ˆ˜์ ) float 32bit (4byte) 0.0F double 8bit (1byte) 0.0 ๋…ผ๋ฆฌ boolean 8bit (1byte) false ๋ฉ”๋ชจ๋ฆฌ์—๋Š” 0๊ณผ 1์„ ์ €์žฅํ•˜๋Š” ์ตœ์†Œ ๊ธฐ์–ต ๋‹จ์œ„์ธ bit๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด bit 8๊ฐœ๋ฅผ ๋ฌถ์œผ๋ฉด byte๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ด byte๊ฐ€ ํด์ˆ˜๋ก ํ‘œํ˜„ํ•˜๋Š” ๊ฐ’์œผ ๋ฒ”..
ํŠน์ง• ? - Spring Web MVC Framework๋Š” JAVA1.5๋ถ€ํ„ฐ Annotation์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. - xml์„ค์ •์ด ๋„ˆ๋ฌด ๊ธธ์–ด์ง์— ๋”ฐ๋ผ ๊ทธ ๋Œ€์•ˆ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ๋‹ค. - ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ํ™œ์„ฑํ™”๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— xml์—์„œ ํ™•์„ฑํ™” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. ์žฅ์  ? - ์„ค์ •์ด ๊ฐ„ํŽธํ•ด ์ง, view ํŽ˜์ด์ง€์™€ ๊ฐ์ฒด ๋˜๋Š” ๋ฉ”์„œ๋“œ์˜ ๋งตํ•‘์ด ๋ช…ํ™•ํ•ด ์ง. Annotation์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„ค์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. 1) CommonAnnotationBeanPostProcessor์— ํด๋ž˜์Šค ์„ค์ •ํŒŒ์ผ์— ๋นˆ๊ฐ์ฒด๋กœ ๋“ฑ๋กํ•˜์—ฌ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์‚ฌ์šฉ 2) ํƒœ๊ทธ ์‚ฌ์šฉ : ์ด๋ฏธ ๋“ฑ๋ก๋œ ๋นˆ๋“ค์˜ ์–ด๋…ธํ…Œ์ด์…˜์„ ํ™œ์„ฑํ™” 3) : ํŠน์ • ํŒจํ‚ค์ง€ ์•ˆ์˜ ํด๋ž˜์Šค๋“ค์„ ์Šค์บ”ํ•˜๊ณ , Annotation์„ ํ™•์ธ ํ›„ bean ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ - ์Šคํ…Œ..
์• ์ •์“ฐ
์• ์ •์ฝ”๋”ฉ ๐Ÿ’ป