Arthur's Blog
Service ๊ตฌํ์ฒด๋ฅผ ์ถ์ํ ํ๋๊ฒ์ ๋ํด.. ๋ณธ๋ฌธ
Service ๊ตฌํ์ฒด๋ฅผ ์ถ์ํ ํ๋๊ฒ์ ๋ํด..
Leeseojune53 2023. 7. 1. 00:26๐ ์์ํ๊ธฐ ์ ์..
์ด๋ณด ๊ฐ๋ฐ์์ธ ์ ์ ์๊ฒฌ์ ๋ํด ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
interface-๊ตฌํ์ฒด๊ตฌ์กฐ๋ฅผ ํํ ๋ฌด์ง์ฑ, ์ฆ ์ด์ ์์ด ์ฌ์ฉํ๊ฑฐ๋ ๊ด๋ก๋ผ์ ์ฌ์ฉํ๋ ์ฌ๋ก์ ๋ง์ด ๋ด์์ต๋๋ค. ์ ๋ ๊ทธ๊ฒ์ ๊ตณ์ด interface๋ฅผ ์ฌ์ฉํด์ผ ํ๋๊ฐ? ๋ผ๋ ์๊ฐ์ด ๋ค์ด ๊ธ์ ์ ์์ต๋๋ค.
โจ ๋คํ์ฑ
Service์ ๊ตฌํ์ฒด๋ฅผ interface๋ก ์ถ์ํํด์ ์ฌ์ฉํ๋ ์ด์ ์ค ๊ฐ์ฅ ํฐ ์ด์ ๊ฐ ๋คํ์ฑ์ผ ๊ฒ์ ๋๋ค.
๋คํ์ฑ์ด๋ ๊ฐ๋จํ๊ฒ ํ๋์ Type์ ์ฌ๋ฌ ๊ฐ์ฒด๋ฅผ ๋์ ํ ์ ์๋ ์ฑ์ง์ ๋๋ค. ํ์ง๋ง ์ผ๋ฐ์ ์ธ ์คํ๋ง์์ ์๋น์ค์ ๋คํ์ฑ์ ๊ตณ์ด ๊ตฌํํด์ผ ํ๋ ์ด์ ๋ฅผ ์ ๋ ์ฐพ์ง ๋ชปํ์ต๋๋ค.
์๋ฅผ ๋ค์ด, UserService๋ฅผ ๊ตฌํํ ๋ ๊ธฐ๋ฅ์ผ๋ก ์ ์ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ, ๋๋ค์ ๋ณ๊ฒฝ ๋ฑ์ด ์๋ค๊ณ ๊ฐ์ ํฉ์๋ค. ์ด UserService์ ๊ตฌํ์ฒด๊ฐ ์ฌ๋ฌ ๊ฐ ์๊ธธ์ํฉ์ด ์๋๋ฐ๋ ์ด์ ์์ด interface-๊ตฌํ์ฒด๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์์๋ก ์์ต๋๋ค.
๋ฐ๋ผ์ ์ ๋ interface๋ฅผ ์ฌ์ฉํ์ง ์๊ณ , ์๋น์ค๋ฅผ ์ค๊ณํ ๋ ๋๋ฉ์ธ๋ณ ์๋น์ค ๋ถ๋ฆฌ๋ฅผ ๋ ์ง์คํด์ ํ๋์ ๋๋ฉ์ธ์ ์ฌ๋ฌ๊ฐ์ ์๋น์ค๊ฐ ์๊ธฐ์ง ์๊ฒ ์ค๊ณ๋ฅผ ํ๋๊ฒ์ด ์ข์ ๊ฒ ๊ฐ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๐ฉ ์ ๋ฆฌ
๋ฐ๋ผ์ ์ ๋ Service์ interface๋ฅผ ๋์ง ์๊ณ ๊ฐ๋ฐ์ ํ๋ค๊ฐ, ์ ์ฐํจ๊ณผ ํ์ฅ์ฑ์ด ํ์ํ ๋ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์ ์ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ตฌ์กฐ๋ฅผ ์ ํ๋๋ฐ ์ ๋ต์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ ๊ฐ ๋งํ ๋ฐฉ๋ฒ๋ํ ์ํฉ์ ๋ฐ๋ผ ๋ง๋ ๊ตฌ์กฐ์ผ์๋, ์๋ชป๋ ๊ตฌ์กฐ์ผ์๋ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ ์ ๋ค๋ฅธ ์๊ฐ์ ๊ฐ์ง์ ๋ถ๋ค์ ์๊ฒฌ ํ์ํฉ๋๋คโค
๋ถ์กฑํ ๊ธ์ด์ง๋ง ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค๐๐
'Backend > Spring Boot' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Spring Bean์ ์ํ๋ฅผ ๊ฐ์ ธ๋ ๋๋๊ฐ? (0) | 2023.07.01 |
---|---|
List์์ ๊ฐ์ Validation ํ๋ ๋ฒ (0) | 2023.07.01 |
Jwt Filter๊ฐ ๋ ๋ฒ ํธ์ถ๋ ๋ (0) | 2023.06.29 |
Properties ๋๋ Yml์์ ๊ธฐ๋ณธ๊ฐ ์ค์ ํ๋ ๋ฒ (0) | 2023.06.29 |
static ๋ณ์์ @Value ์ฌ์ฉํ๊ธฐ (0) | 2023.06.29 |