์ „์ฒด ๊ธ€

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 ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ - ์Šคํ…Œ..
์ €์žฅ ์œ„์น˜ ์ฟ ํ‚ค : ํด๋ผ์ด์–ธํŠธ์˜ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง€์ •ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ or ํ•˜๋“œ๋””์Šคํฌ ์„ธ์…˜ : ์„œ๋ฒ„์˜ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ €์žฅ ๋งŒ๋ฃŒ ์‹œ์  ์ฟ ํ‚ค : ์†์„ฑ ์„ค์ •์„ ์ด์šฉํ•ด ์‚ญ์ œ๋  ๋‚ ์งœ๋ฅผ ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์„ธ์…˜ : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋กœ๊ทธ์•„์›ƒํ•˜๊ฑฐ๋‚˜, ์„ค์ •๋œ ๊ธฐ๊ฐ„๋™์•ˆ ๋ฐ˜์‘์ด ์—†์œผ๋ฉด ๋ฌดํšจํ™” ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ์ ์„ ์•Œ ์ˆ˜ ์—†๋‹ค. ๋ฆฌ์†Œ์Šค ์ฟ ํ‚ค : ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋˜๊ณ  ํด๋ผ์ด์–ธํŠธ์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ์„ธ์…˜ : ์„œ๋ฒ„์— ์ €์žฅ๋˜์–ด ์„œ๋ฒ„ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋กœ๋”ฉ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์„ธ์…˜์ด ์ƒ๊ธธ ๋•Œ๋งˆ๋‹ค ๋ฆฌ์†Œ์Šค ์ฐจ์ง€ ์šฉ๋Ÿ‰์ œํ•œ ์ฟ ํ‚ค : ํด๋ผ์ด์–ธํŠธ๋„ ๋ชจ๋ฅด๊ฒŒ ์„ค์ •๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋„๋ฉ”์ธ๋‹น 20, ํ•˜๋‚˜์˜ ์ฟ ํ‚ค๋‹น 4KB๋กœ ์ œํ•œ ์„ธ์…˜ : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ ‘์†ํ•˜๋ฉด ์„œ๋ฒ„์— ์˜ํ•ด ์ƒ์„ฑ๋˜์–ด ๊ฐœ์ˆ˜๋‚˜ ์šฉ๋Ÿ‰ ์ œํ•œ ์—†์Œ ์ €์žฅํ˜•์‹ ์ฟ ํ‚ค : Text ์„ธ์…˜ : Object
Servlet์—์„œ 1:1mapping์„ ๋ณด์•ˆํ•ด์„œ ์ž๋™์œผ๋กœ ๋ถ„๊ธฐ, ์ž๋™์œผ๋กœ ์ƒ์„ฑํ™”๋ฉด ์ด๋™์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ด Controller๋Š” ๋‹ค์–‘ํ•œ ์š”์ฒญ์„ ์ œ์–ดํ•˜์—ฌ J2EE Pattern: frontController ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Business Layer์—์„œ handler mapper๋ฅผ ์žŠ๊ณ  ๊ทธ๋ฆฌ์ง€ ์•Š์•˜๋Š”๋ฐ ์•Œ์•„๋‘์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Handler Mapping : dispatcherSevlet์œผ๋กœ ๋ฐ›์€ ์š”์ฒญ -> Controller ๋ณด๋ƒ„-> ์š”์ฒญ์ด ์–ด๋–ค ๋งคํ•‘์ธ์ง€ ๊ทธ ๋ฐฉ๋ฒ•์„ ์ •ํ•ด์ฃผ๋Š” ํด๋ž˜์Šค ์ž…๋‹ˆ๋‹ค. Spring 3๋Œ€ ์ž‘๋™์›๋ฆฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 1. DI/IoC - Bean Spring ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋“ฑ๋ก - Life-Cycle์„ ๋”ฐ๋ผ๊ฐ€์ง€ ์•Š๊ณ  ์‚ฌ์šฉ POJO๋ฅผ Spring beanํ˜น์€ @Annotation์„..
Spring FrameWork๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์ „ Servlet์„ ๋จผ์ € ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Servlet์ด๋ผ ํ•˜๋ฉด 3๊ฐ€์ง€๋ฅผ ์•Œ์•„๋‘๋ฉด ์ข‹์•„์š”. Url-Mapping, Hierarchy, Life-cycle์ž…๋‹ˆ๋‹ค. ํ•˜๋‚˜์”ฉ ์•Œ์•„๋ณผ๊ฒŒ์š”! Url-Mapping 1:1 servlet-mapping ๋ธŒ๋ผ์šฐ์ €์—์„œ ws์— ์š”์ฒญํ•˜๋Š” ์ฃผ์†Œ์™€ ํ•ด๋‹น ์ฃผ์†Œ์˜ ์ฒ˜๋ฆฌ ๋กœ์ง์„ 1:1 ๋งคํ•‘ํ•œ๋‹ค ๋ฌธ์ œ : ๋„ˆ๋ฌด ๋งŽ์€ mapping์œผ๋กœ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์ง„๋‹ค. Life-Cycle (์ƒ๋ช…์ฃผ๊ธฐ) HttpServlet -> OCP(Open Closed Programming) ์ดˆ๊ธฐํ™” -> ์„œ๋น„์Šค -> ์ข…๋ฃŒ init() service() distroy() doGet() doPost() doDelete() Hierarchy ๊ณ„์ธต๊ตฌ์กฐ HttpServelt์„ ์ƒ์†๋ฐ›์•„ ..
Window - Eclipse Marketplace - sts ๊ฒ€์ƒ‰ ์ƒˆ๋กœ์šด Spring ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์˜ค๋ฅธ์ชฝ ํด๋ฆญ - properties - Project Facets ์ ์šฉํ•ด์ฃผ์‹œ๊ณ , pon.xml ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ์ฒดํฌํ•œ ๋ถ€๋ถ„ ๋ณ€๊ฒฝ ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋กค ๋ฐ‘์œผ๋กœ ์ญ‰ ๋‚ด๋ ค์„œ plugin๋„ ๋ฐ”๊ฟ”์ค„๊ฒŒ์š”~ ์ด๋ ‡๊ฒŒ ํ•˜๊ณ  ์ €์žฅํ•˜๋ฉด ๋ฉ”์ด๋ธ์ด ์—ด์‹ฌํžˆ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ๋งˆ๋ฐ”ํ‹ฐ์Šค, ์Šคํ”„๋ง ์—ฐ๊ฒฐ ๊ด€๋ จ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์„ค์ •ํ•ด ์ค„๊ฒŒ์š”. ์ผ๋‹จ, ์ €๋Š” spring ์„ค์ •ํŒŒ์ผ์„ ํ•œ ๋ฒˆ์— ๋ณด๊ณ  ์‹ถ๊ธฐ ๋•Œ๋ฌธ์— web.xml ์—์„œ ์ด ๋ถ€๋ถ„์„ ํด๋”์— ๋„ฃ์–ด ์ฃผ์—ˆ์–ด์š” ๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๊ฐ™์ด ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๊ทธ๋ฆฌ๊ณ  ์ค‘์š”ํ•œ๊ฒƒ์€ filter๋ฅผ ์ด์šฉํ•ด์„œ ์ธ์ฝ”๋”ฉ์„ ํ•ด์ค๋‹ˆ๋‹ค. web.xml์— ์ž‘์„ฑํ•ด์ฃผ์‹œ๋ฉด ..
์• ์ •์“ฐ
์• ์ •์ฝ”๋”ฉ ๐Ÿ’ป