๋ชฉ๋กSpring (3)

๐ŸŒฑ → ๐ŸŒณ

[Java] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)

๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์ด๋ž€? ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: OOP(Object Oriented Programing) ์ ˆ์ฐจ์ง€ํ–ฅ์  -> ๊ฐ์ฒด์ง€ํ–ฅ์  ๊ฐ์ฒด: ๋Œ€์ƒ (๋ถ•์–ด๋นต)ํด๋ž˜์Šค: ๊ณตํ†ต๋œ ์†์„ฑ๋“ค์˜ ์ •์˜ (๋ถ•์–ด๋นต ํ‹€) OOP: ๊ฐ์ฒด๋“ค์„ ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ OOP์˜ 4๊ฐ€์ง€ ํŠน์ง• ์ถ”์ƒํ™” ์ถ”์ƒํ™”๋Š” ๊ฐ์ฒด๋“ค์˜ ๊ณตํ†ต๋œ ํŠน์ง•์„ ํŒŒ์•…ํ•ด ์ •์˜ํ•ด ๋†“์€ ์„ค๊ณ„ ๊ธฐ๋ฒ• ๋ชฉ์ ๊ณผ ๊ด€๋ จ์ด ์—†๋Š” ๋ถ€๋ถ„์„ ์ œ๊ฑฐํ•˜์—ฌ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋…์ด๋‹ค. ์บก์Šํ™” ํ•˜๋‚˜์˜ ๊ฐ์ฒด์— ๋Œ€ํ•ด ๊ทธ ๊ฐ์ฒด๊ฐ€ ํŠน์ •ํ•œ ๋ชฉ์ ์„ ์œ„ํ•œ ํ•„์š”ํ•œ ๋ณ€์ˆ˜๋‚˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ๊ฒƒ ๋ถˆํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๊ฐ์ถœ ์ˆ˜ ์žˆ์Œ: ์ •๋ณด์€๋‹‰(private) ์ƒ์† ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ์†์„ฑ์„ ์ž์‹ ํด๋ž˜์Šค์—์„œ ๋ฌผ๋ ค๋ฐ›์•„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ๋‹จ์ผ ์ƒ์† (๋‹ค์ค‘ ์ƒ์†์ด ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ชฉ์ ์€ ์•„๋‹ˆ๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋‹ค..

Server/Java & Spring 2023. 5. 31. 11:30
[Spring boot] properties ์‚ฌ์šฉ์‹œ "Could not resolve placeholder" ์˜ค๋ฅ˜ ๋ฐœ์ƒ

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์‚ฌ์ง„, ๋™์˜์ƒ๊ณผ ๊ฐ™์€ ๋ฏธ๋””์–ด ํŒŒ์ผ๋“ค์„ AWS์˜ S3์— ์ €์žฅํ•˜๊ธฐ ์œ„ํ•˜์—ฌ application.yml ํŒŒ์ผ์— S3์— ๊ด€๋ จ๋œ ์ธ์ฆ ์ •๋ณด๋“ค์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๋กœ์ปฌ์—์„œ๋Š” ์ž˜ ๋Œ์•„๊ฐ€๋Š”๋ฐ github actions๋ฅผ ํ†ตํ•ด ci/cd ๊ตฌ์ถ•ํ•˜์ž ๋ฌธ์ œ ๋ฐœ์ƒ ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ ๊ฐ™๋‹ค ๊ทผ๋ฐ ์ผ๋‹จ ๋ฐฐํฌ๋Š” ์ž˜ ๋จ codedeploy์—์„œ๋„ ์„ฑ๊ณต ps -ef | grep jar ๋ช…๋ น์–ด๋กœ ์‹คํ–‰์ค‘์ธ jar ํŒŒ์ผ ํ™•์ธ ์ฒ˜์Œ์—๋Š” ์ œ๋Œ€๋กœ ๋Œ์•„๊ฐ€๋Š” ๋“ฏ ํ–ˆ์œผ๋‚˜ 10์ดˆ ์ •๋„ ๋’ค์— ๋‹ค์‹œ ํ™•์ธํ•ด๋ณด๋ฉด ๊บผ์ง€๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค ์•„ .. ์ด๊ฑฐ ์ง€๊ธˆ application์ด ๋Œ์•„๊ฐ€๋Š”๋ฐ ์‹คํŒจํ•œ๊ฑฐ๊ตฌ๋‚˜ ๊ฐ•์ œ๋กœ ๋‹ค์‹œ java ์‹คํ–‰์‹œ์ผœ๋ณด์ž ์—ญ์‹œ๋‚˜ .. application run failed ์˜€๊ตฌ๋‚˜ ^^ . . . ๋ชจ๊ฐ€ ๋ฌธ..

Server/Java & Spring 2023. 5. 28. 10:46
[Spring] ์˜์กด์„ฑ ์ฃผ์ž…(Dependency Injection)์—์„œ final ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

private final ProductService productservice ๋ฌธ๋“ ์˜์กด์„ฑ ์ฃผ์ž…์„ ํ•˜๋‹ค๊ฐ€ final์„ ์จ์ฃผ๋Š” ์ด์œ ๊ฐ€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค . ์˜์กด์„ฑ ์ฃผ์ž…(Dependency Injection)์—์„œ final ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋ถˆ๋ณ€์„ฑ(Immutability) final ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ๋ณ€์ˆ˜๊ฐ€ ํ•œ ๋ฒˆ ์ดˆ๊ธฐํ™”๋œ ์ดํ›„์—๋Š” ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค. ์ด๋Š” ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ๋ถˆ๋ณ€ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ณ , ๊ฐ์ฒด์˜ ๋ถˆ๋ณ€์„ฑ(Immutability)์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋œ๋‹ค. ์˜์กด์„ฑ ์ฃผ์ž…์—์„œ๋Š” ์ฃผ์ž…๋œ ๊ฐ์ฒด์˜ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— final ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด์˜ ๋ถˆ๋ณ€์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์•ˆ์ •์„ฑ(Safety) final ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ณ€์ˆ˜์˜ ์ดˆ๊ธฐํ™” ์—ฌ๋ถ€๋ฅผ..

Server/Java & Spring 2023. 3. 22. 10:17