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

๋ชฉ๋ก๐ŸŒฑSPRING (31)

Coding Planet

[Spring] ์ „์ž์ •๋ถ€ํ”„๋ ˆ์ž„์›Œํฌ 4.2 - WebFlux, Nonblocking

์–ผ๋งˆ์ „ ์ „์ž์ •๋ถ€ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ฃผ๊ด€ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” NIA์—์„œ ์‹ ๊ทœ๋ฒ„์ „ 4.2์™€ ์šฐ์ˆ˜ ํ™œ์šฉ์‚ฌ๋ก€์— ๋Œ€ํ•ด Zoom์œผ๋กœ ์„ธ๋ฏธ๋‚˜๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ถ€๋ถ„์ด ์ƒ๋‹นํ–ˆ์ง€๋งŒ ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์—์„œ ๊ณ ๋ฏผํ•˜๋˜ ์‚ฌํ•ญ๊ณผ ๋งž๋‹ฟ์•„ ์žˆ๋Š” ์ฃผ์ œ๊ฐ€ ์žˆ์–ด์„œ ์ •๋ฆฌํ•œ๋‹ค.  1. WebFluxSpring Framework 5์—์„œ ์ƒˆ๋กญ๊ณ  ์†Œ๊ฐœ๋œ ๋ชจ๋“ˆ์ด๋‹ค. ๋น„๋™๊ธฐ์ ์ด๊ณ  ๋…ผ๋ธ”๋กœํ‚น ๋ฐฉ์‹์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ์ „ํ†ต์ ์ธ ์„œ๋ธ”๋ฆฟ ๊ธฐ๋ฐ˜์˜ ์Šคํ”„๋ง MVC์™€ ๋‹ฌ๋ฆฌ, WebFlux๋Š” Reactive Streams API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ ์ฒ˜๋ฆฌ ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” I/O ์ž‘์—…์—์„œ ์„œ๋ฒ„์˜ ์ž์› ํ™œ์šฉ๋„๋ฅผ ์ตœ๋Œ€ํ™”ํ•œ๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•ด, WebFlux๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์„œ..

๐ŸŒฑSPRING 2024. 5. 7. 10:56
[Spring Security] ๋ณด์•ˆ๊ตฌ์„ฑ ์„ค์ •ํ•˜๊ธฐ - context-security.xml(์ „์ž์ •๋ถ€ ๋ชจ๋“ˆ ํฌํ•จ)

|Spring Security๋ž€? Spring Security๋Š” Spring ๊ธฐ๋ฐ˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. ์ธ์ฆ(Authentication)๊ณผ ๊ถŒํ•œ๋ถ€์—ฌ(Authorization)์„ ์œ„ํ•œ ํฌ๊ด„์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•œ๋‹ค. Spring Security๋Š” ๋ฉ”์„œ๋“œ ์ˆ˜์ค€, URL ์ˆ˜์ค€์—์„œ ๋ณด์•ˆ ๋“ฑ ๋ณด์•ˆ ์ˆ˜์ค€์„ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. Spring Security๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณด์•ˆ ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„๋„ ๊ฐ„๋‹จํžˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณ ์•ˆ๋˜์—ˆ๋Š”๋ฐ ์ฃผ์š” ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ธ์ฆ: ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๊ณผ์ •. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•œ ๋กœ๊ทธ์ธ ๊ณผ์ •์ด ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•œ๋‹ค. ๊ถŒํ•œ ๋ถ€์—ฌ: ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ์ž์›์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์ž‘์—…์„ ์ˆ˜ํ–‰..

๐ŸŒฑSPRING 2024. 2. 14. 17:33
@RequestBody ์–ด๋…ธํ…Œ์ด์…˜ ์„ค๋ช… ๋ฐ ์˜ˆ์ œ

1. @RequestBody์˜ ๊ธฐ๋Šฅ @RequestBody๋Š” Spring Framework์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ, HTTP ์š”์ฒญ์˜ ๋ณธ๋ฌธ(body)์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ Java ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์ฃผ๋กœ POST ๋˜๋Š” PUT ์š”์ฒญ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๋ฉฐ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ „์†กํ•œ JSON, XML ๋˜๋Š” ๋‹ค๋ฅธ ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๋ฅผ Java ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•˜๋‚˜ํ•˜๋‚˜ ๊ฐ์ฒด์— ์„ธํŒ…ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. (HTTP ์š”์ฒญ์˜ ๊ตฌ์กฐ๋Š” ์•„๋ž˜ ํฌ์ŠคํŠธ ์ฐธ๊ณ ) https://sharonprogress.tistory.com/303#google_vignette 2. @RequestBody์˜ ์˜ˆ์‹œ @RequestBody๋ฅผ ๋ฉ”์„œ๋“œ ํŒŒ๋ผ๋ฏธํ„ฐ ์•ž์— ์‚ฌ์šฉํ•˜๋ฉด Spring์€ ํ•ด๋‹น ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ HTTP ์š”์ฒญ์˜..

๐ŸŒฑSPRING 2024. 1. 3. 11:13
@Controller์™€ @RestController์˜ ์ฐจ์ด๋Š”?

1. @Controller @Controller ์–ด๋…ธํ…Œ์ด์…˜์€ ์Šคํ”„๋ง ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ ํด๋ž˜์Šค๋ฅผ ์ง€์ •ํ•ด์ฃผ๊ธฐ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. HTML ๋ทฐ ํ…œํ”Œ๋ฆฟ, JSP, Thymleaf๋“ฑ๊ณผ ๊ฐ™์€ ๋ทฐ ๋ Œ๋”๋ง์„ ์œ„ํ•ด ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ณ  ๋ฐ˜ํ™˜๋˜๋Š” ๋ฉ”์„œ๋“œ์˜ ๊ฒฐ๊ณผ๋Š” ์ฃผ๋กœ ๋ชจ๋ธ๊ณผ ๋ทฐ ์ด๋ฆ„์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๋ทฐ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋ Œ๋”๋ง๋˜์–ด ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ HTML ํŽ˜์ด์ง€๋ฅผ ์ œ๊ณตํ•œ๋‹ค. MVC ํŒจํ„ด์—์„œ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์ฒ˜๋ฆฌ์™€ ํ๋ฆ„ ์ œ์–ด๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•œ ํ›„ ์‘๋‹ต ํ™”๋ฉด(๋ทฐ ํ…œํ”Œ๋ฆฟ)์„ ์ง€์ •ํ•œ๋‹ค. @Controller public class MyController { @GetMapping("/hello") public String sayHello() { return "hello"; // "hel..

๐ŸŒฑSPRING 2024. 1. 2. 10:17
[MyBatis] test์˜ ์ˆซ์ž, ๋ฌธ์ž์—ด ๋น„๊ต (ํฐ ๋”ฐ์˜ดํ‘œ, ์ž‘์€ ๋”ฐ์˜ดํ‘œ ๊ตฌ๋ถ„ ๊ผญ!!!!!)

๊ฒŒ์‹œํŒ์˜ ๊ฒ€์ƒ‰๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ํ•„ํ„ฐ๋ง์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ด๊ฒƒ์ €๊ฒƒ ํ•ด๋ณด๊ณ  ์‹ฌ์ง€์–ด chatGPTํ•œํ…Œ๋„ ๋ฌผ์–ด๋ณด๊ณ  ๋‚œ๋ฆฌ๋ฅผ ์ณค์ง€๋งŒ ๊ทธ ์›์ธ์„ ์•Œ ์ˆ˜ ์—†์—ˆ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค๋„ ์ •์ƒ์ ์œผ๋กœ ๋“ค์–ด์˜ค๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— sql์—์„œ ํ•„ํ„ฐ๋ง์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์•„์„œ ์ฟผ๋ฆฌ๋ฌธ์„ ์œ ์‹ฌํžˆ ๋ณด๋˜ ๋„์ค‘ test ์กฐ๊ฑด์— ๋Œ€ํ•œ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. 1. ๊ธฐ์กด ์ฟผ๋ฆฌ: ํ•„ํ„ฐ๋ง ์•ˆ๋จ ๋ฌธ์ œ์˜ ์›์ธ์€ ์กฐ๊ฑด์— ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. test ์ดํ•˜ ์กฐ๊ฑด์„ ์ž‘์€ ๋”ฐ์˜ดํ‘œ(' ')๋กœ ๊ฐ์‹ธ๊ณ  ๋น„๊ต๋Œ€์ƒ ๋ฌธ์ž์—ด์„ ํฐ ๋”ฐ์˜ดํ‘œ(" ")๋กœ ๊ฐ์‹ธ์คฌ์–ด์•ผํ•˜๋Š”๋ฐ ๋ฐ˜๋Œ€๋กœ ํ•œ ๊ฒƒ์ด๋‹ค. select row_number() over (order by notice_board_no) as rownum, notice_board_no, notice_board_type, notice_board_su..

๐ŸŒฑSPRING 2023. 11. 14. 13:25
PRG(Post/Redirect/Get) ํŒจํ„ด๊ณผ ์˜ˆ์‹œ

| PRG ํŒจํ„ด ์›น ๊ฐœ๋ฐœ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํŒจํ„ด์œผ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ํผ์„ ์ œ์ถœํ•œ ํ›„ ์ƒˆ๋กœ ๊ณ ์นจ์„ ๋ˆ„๋ฅด๋ฉด ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘๋ณต ์ œ์ถœ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ ๋™์ผ ๊ฒŒ์‹œ๋ฌผ์ด๋‚˜ ๊ฐ™์€ ์ฃผ๋ฌธ์ด ๋ฐ˜๋ณต๋˜์–ด ์ด๋ฃจ์–ด ์งˆ ์ˆ˜ ์žˆ๋‹ค. ์ด ํŒจํ„ด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๋กœ ๋™์ž‘ํ•œ๋‹ค. 1. POST: ์‚ฌ์šฉ์ž๊ฐ€ ์›น ์–‘์‹์„ ์ž‘์„ฑํ•˜๊ณ  ์ œ์ถœํ•˜๋ฉด, ๋ฐ์ดํ„ฐ๋Š” POST ์š”์ฒญ์„ ํ†ตํ•ด ์„œ๋ฒ„๋กœ ์ „์†ก๋œ๋‹ค. 2. Redirect: ์„œ๋ฒ„๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ ํ›„, ์‚ฌ์šฉ์ž๋ฅผ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ(์˜ˆ: ์„ฑ๊ณต ํŽ˜์ด์ง€, ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€ ๋“ฑ)ํ•œ๋‹ค. ์ด๋•Œ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋Š” GET ์š”์ฒญ์„ ์‚ฌ์šฉํ•œ๋‹ค. 3. GET: ๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ง€์‹œ์— ๋”ฐ๋ผ GET ์š”์ฒญ์„ ํ•˜์—ฌ ์ƒˆ ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•œ๋‹ค. ์ด ํŒจํ„ด์˜ ํ•ต์‹ฌ์€ POST ์š”์ฒญ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ ์งํ›„์— ๋ธŒ๋ผ..

๐ŸŒฑSPRING 2023. 11. 8. 09:48
SPRING MVC - ๋ทฐ ๋ฆฌ์กธ๋ฒ„ (View Resolver)

| View Resolver๋ž€ ๋ทฐ ๋ฆฌ์กธ๋ฒ„๋Š” ์Šคํ”„๋ง MVC ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ค‘์š”ํ•œ ์ปดํฌ๋„ŒํŠธ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. MVC ํŒจํ„ด์—์„œ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ฒ˜๋ฆฌ๋ฅผ ๋งˆ์นœ ํ›„์— ์–ด๋–ค ๋ทฐ๋กœ ์‘๋‹ต์„ ์ƒ์„ฑํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. | View Resolver์˜ ์—ญํ•  ๋ทฐ ์ด๋ฆ„์˜ ๋งคํ•‘ : ์ปจํŠธ๋กค๋Ÿฌ๋Š” ํŠน์ • ๋ทฐ๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ฌธ์ž์—ด ํ˜•ํƒœ์˜ ๋ทฐ ์ด๋ฆ„์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋ทฐ ๋ฆฌ์กธ๋ฒ„๋Š” ์ด ์ด๋ฆ„์„ ์‹ค์ œ ๋ทฐ ํ…œํ”Œ๋ฆฟ ํŒŒ์ผ๋กœ ๋งคํ•‘ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ "home"์ด๋ผ๋Š” ๋ทฐ ์ด๋ฆ„์„ ๋ฐ˜ํ™˜ํ•˜๋ฉด, ๋ทฐ ๋ฆฌ์กธ๋ฒ„๋Š” ์ด๋ฅผ "home.jsp"๋‚˜ "home.html"๊ฐ™์€ ์‹ค์ œํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋ทฐ ๊ธฐ์ˆ  ์ง€์› : ์Šคํ”„๋ง MVC๋Š” ๋‹ค์–‘ํ•œ ๋ทฐ ๊ธฐ์ˆ ์„ ์ง€์›ํ•˜๋ฉฐ ์ด๋ฅผ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋ทฐ ๋ฆฌ์กธ๋ฒ„๋ฅผ ์žฌ๊ณตํ•œ๋‹ค. JSP, Thymeleaf, FreeMarker ๋“ฑ ๋‹ค์–‘ํ•œ ํ…œํ”Œ๋ฆฟ..

๐ŸŒฑSPRING 2023. 10. 24. 16:25
[Spring boot]๋กœ๊ทธ ๋ ˆ๋ฒจ(Log level)์ด๋ž€? ๋กœ๊ทธ๋ ˆ๋ฒจ ์„ค์ •ํ•˜๊ธฐ - log4j2

์Šคํ”„๋ง๋ถ€ํŠธ๊ฐ€ ์•„๋‹Œ ์Šคํ”„๋ง์˜ ๋กœ๊ทธ๋ ˆ๋ฒจ ์„ค์ •์€ ์ด ํฌ์ŠคํŠธ๋กœ! https://sharonprogress.tistory.com/198 1. ๋กœ๊ทธ ๋ ˆ๋ฒจ(Log level)์ด๋ž€? ๋กœ๊ทธ ๋ ˆ๋ฒจ(Log Level)์€ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€์˜ ์ค‘์š”๋„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆ˜์ค€์„ ์˜๋ฏธํ•œ๋‹ค. ๋กœ๊ทธ ๋ ˆ๋ฒจ์€ ๋กœ๊น… ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋กœ๊ทธ ๋ฉ”์‹œ์ง€์˜ ์ค‘์š”๋„์— ๋”ฐ๋ผ ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋กํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. 2. ๋กœ๊ทธ๋ ˆ๋ฒจ 1) TRACE ๊ฐ€์žฅ ์ƒ์„ธํ•œ ๋กœ๊ทธ ๋ ˆ๋ฒจ๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹คํ–‰ ํ๋ฆ„๊ณผ ๋””๋ฒ„๊น… ์ •๋ณด๋ฅผ ์ƒ์„ธํžˆ ๊ธฐ๋กํ•œ๋‹ค. ์ฃผ๋กœ ๋””๋ฒ„๊น… ์‹œ์— ์‚ฌ์šฉ๋œ๋‹ค. 2) DEBUG ๋””๋ฒ„๊น… ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ ์ƒ์„ธํ•œ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•œ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋‚ด๋ถ€ ๋™์ž‘์„ ์ดํ•ดํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค€๋‹ค. 3) INFO ์ •๋ณด์„ฑ ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋กํ•œ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด..

๐ŸŒฑSPRING 2023. 10. 19. 09:23
Spring Boot Actuator - Security ๋ณด์•ˆ์„ค์ •ํ•˜๊ธฐ(ํ™˜๊ฒฝ์„ค์ •), ID์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ ์„ค์ •ํ•˜๊ธฐ

์ด์ „ ํฌ์ŠคํŠธ(https://sharonprogress.tistory.com/231)์—์„œ ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์šด์˜ ์ค‘์ธ ์ƒํƒœ์™€ ํ–‰๋™์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Spring Boot Actuator์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ดค๋‹ค. ์ด ๊ฒฝ์šฐ endpoint์„ ํ†ตํ•ด์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ—ˆ๊ฐ€ ์—†์ด๋„ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ์ ์€ ๋ณด์•ˆ์ƒ ์ข‹์ง€ ์•Š๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ณด์•ˆ(Security)์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค. ๋‹ค๋งŒ ์ด ํฌ์ŠคํŠธ์—๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ณด์•ˆ ๊ด€๋ จ ํ™˜๊ฒฝ ์„ค์ •๋งŒ์„ ์•Œ๋ ค์ค€๋‹ค. 1. pom.xml์— dependency ์ถ”๊ฐ€ org.springframework.boot spring-boot-starter-security 2. ๋””ํดํŠธ ์•„์ด๋”” ๋ฐ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ 1) ID์™€ ํŒจ์Šค์›Œ๋“œ ํ™•์ธํ•˜๊ธฐ ์—”๋“œํฌ์ธํŠธ์— ์ ‘๊ทผํ•˜..

๐ŸŒฑSPRING 2023. 8. 20. 23:34
Spring Boot Actuator - ํ™˜๊ฒฝ์„ค์ •ํ•˜๊ธฐ(IntelliJ), health, info

Spring Boot Actuator๋Š” Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์šด์˜ ์ค‘์ธ ์ƒํƒœ์™€ ํ–‰๋™์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. | Spring Boot Actuator ์˜ ์žฅ์  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ถ”๊ฐ€์ ์ธ ์„ค์ •์ด๋‚˜ ์กฐ์ •, ์ˆ˜์ •์—†์ด DevOps ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. POM ํŒŒ์ผ์— ์˜์กด์„ฑ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. REST ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ž๋™์œผ๋กœ ์ถ”๊ฐ€๋œ๋‹ค. | Spring Boot Actuator ์„ค์ •ํ•˜๊ธฐ POM ํŒŒ์ผ์— ์˜์กด์„ฑ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ถ”๊ฐ€ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ "/health"๋งŒ ์„ค์ •๋˜์–ด ์žˆ๋‹ค. ์•„๋ž˜ application.properties์—์„œ๋Š” /health, /info๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๋ชจ๋“  endpoints๋ฅผ..

๐ŸŒฑSPRING 2023. 8. 18. 18:37