๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[JAVA/์›น] Annotation๊ณผ Reflections ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์ž๋ฐ” ๋นˆ ๊ด€๋ฆฌํ•˜๊ธฐ [JAVA] Annotation๊ณผ Reflections ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์ž๋ฐ” ๋นˆ ๊ด€๋ฆฌํ•˜๊ธฐ Java Annotation(์ž๋ฐ” ์–ด๋…ธํ…Œ์ด์…˜) ์–ด๋…ธํ…Œ์ด์…˜์€ ์ปดํŒŒ์ผ, ๋ฐฐํฌ, ์‹คํ–‰ ์‹œ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ํŠน๋ณ„ํ•œ ์ฃผ์„์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ํด๋ž˜์Šค, ํ•„๋“œ, ๋ฉ”์†Œ๋“œ์— ๋ถ€๊ฐ€ ์ •๋ณด๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ด๋…ธํ…Œ์ด์…˜์„ ์ด์šฉํ•ด์„œ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹œ์ž‘๋  ๋•Œ ์ƒ์„ฑ์ด ํ•„์š”ํ•œ ๊ฐ์ฒด๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด๋ณด์ž. ์–ด๋…ธํ…Œ์ด์…˜ ์ •์˜ Component.java 1 2 3 4 5 6 7 8 9 /*์–ด๋…ธํ…Œ์ด์…˜ ์œ ์ง€ ์ •์ฑ… - RetentionPolicy.RUNTIME: * ํด๋ž˜์Šค ํŒŒ์ผ์— ๊ธฐ๋ก๋จ * ์‹คํ–‰ ์‹œ์— ์œ ์ง€๋จ * ์‹คํ–‰ ์ค‘ ํด๋ž˜์Šค์— ๊ธฐ๋ก๋œ ์–ด๋…ธํ…Œ์ด์…˜ ๊ฐ’ ์ฐธ์กฐ ๊ฐ€๋Šฅ * */ @Retention(RetentionPolicy.RUNTIME.. 2020. 2. 21.
๋ฆฌํ”Œ๋ž™์…˜ API๋ฅผ ์ด์šฉํ•œ Front Controller ์ž๋™ํ™” ๋ณธ ๋‚ด์šฉ์€ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ๋„์›€์ด ๋œ๋‹ค. ๋ฆฌํ”Œ๋ž™์…˜ API๋ฅผ ์ด์šฉํ•œ Front Controller ์ž๋™ํ™” ์•„๋ž˜์™€ ๊ฐ™์€ ์‹ ๊ทœ ํ•™์ƒ(ํšŒ์›)์„ ๋“ฑ๋กํ•˜๋Š” ํผ์ด ์žˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ’์„ ์ž…๋ ฅํ•˜๊ณ  [๋“ฑ๋ก] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด์„œ ์‹ ๊ทœ ํ•™์ƒ ๋“ฑ๋ก์„ ์š”์ฒญํ•˜๋ฉด ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ปจํŠธ๋กค๋Ÿฌ์—๊ฒŒ ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•œ๋‹ค. 1 2 3 4 5 6 7 8 9 10 11 12 // ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ’์„ ๊บผ๋‚ด์„œ Map์— ๋‹ด์Œ model.put("student", new Student() .setStudentNo(req.getParameter("student_no")) .setStudentName(req.getParameter("student_name")) .setAddress(req.getParameter("address")).. 2020. 2. 20.