spring43 spring - ํ์ ๋๋ฉ์ธ ์ค๊ณ ํ์ ๋๋ฉ์ธ ์๊ตฌ์ฌํญ ํ์์ ๊ฐ์ ํ๊ณ ์กฐํํ ์ ์๋ค. ํ์์ ์ผ๋ฐ๊ณผ VIP ๋ ๊ฐ์ง ๋ฑ๊ธ์ด ์๋ค. ํ์ ๋ฐ์ดํฐ๋ ์์ฒด DB๋ฅผ ๊ตฌ์ถํ ์ ์๊ณ , ์ธ๋ถ ์์คํ ๊ณผ ์ฐ๋ํ ์ ์๋ค. (๋ฏธํ์ ) ํ์ ํด๋์ค ๋ค์ด์ด๊ทธ๋จ : ์ ์ ํ์ ๊ฐ์ฒด ๋ค์ด์ด๊ทธ๋จ : ๋์ ํ์ง๋ง ์ด๋ ๊ฒ ๊ตฌํํ์์์ ๋ฌธ์ ์ ๋ค์ด ์๋ค. //MemberServiceImpl์ MemberRepository์๋ ์์กดํ๊ณ MemoryMemberRepository์๋ ์์กดํจ public class MemberServiceImpl implements MemberService{ //์ด๋ถ๋ถ์์ DIP ์๋ฐ, ์ค์ ํ ๋นํ๋ ๋ถ๋ถ์ด ๊ตฌํ์ฒด๋ฅผ ์์กดํจ private final MemberRepository memberRepository = new MemoryMembe.. 2023. 7. 6. Spring - springboot ์ด๊ธฐ ์ค์ 2023. 7. 6. Spring - AOP AOP๊ฐ ํ์ํ ์ํฉ ๋ชจ๋ ๋ฉ์๋์ ํธ์ถ ์๊ฐ์ ์ธก์ ํ๊ณ ์ถ๋ค๋ฉด? ๊ณตํต ๊ด์ฌ ์ฌํญ(cross-cutting concern) vs ํต์ฌ ๊ด์ฌ ์ฌํญ(core concern) ํ์ ๊ฐ์ ์๊ฐ, ํ์ ์กฐํ ์๊ฐ์ ์ธก์ ํ๊ณ ์ถ๋ค๋ฉด? MemberService์์ ์ด์๊ฐ์ด ๋ก์งํ๋ํ๋ ์๊ฐ ์ธก์ ์ฝ๋๋ฅผ ์ถ๊ฐํ ์ ์์ง๋ง ๋ก์ง์ด ๋ช๋ฐฑ๊ฐ๊ฐ ๋๋ค๋ฉด.. ๋นํจ์จ์ ์ด๊ณ ์๊ฐ์ด ๋๋ฌด ๋ง์ด ๊ฑธ๋ฆฐ๋ค. ๐ป ๋ฌธ์ ํ์๊ฐ์ , ํ์ ์กฐํ์ ์๊ฐ์ ์ธก์ ํ๋ ๊ธฐ๋ฅ์ ํต์ฌ ๊ด์ฌ ์ฌํญ์ด ์๋๋ค. ์๊ฐ์ ์ธก์ ํ๋ ๋ก์ง์ ๊ณตํต ๊ด์ฌ ์ฌํญ์ด๋ค. ์๊ฐ์ ์ธก์ ํ๋ ๋ก์ง๊ณผ ํต์ฌ ๋น์ฆ๋์ค์ ๋ก์ง์ด ์์ฌ์ ์ ์ง๋ณด์๊ฐ ์ด๋ ต๋ค. ์๊ฐ์ ์ธก์ ํ๋ ๋ก์ง์ ๋ณ๋์ ๊ณตํต ๋ก์ง์ผ๋ก ๋ง๋ค๊ธฐ ๋งค์ฐ ์ด๋ ต๋ค. ์๊ฐ์ ์ธก์ ํ๋ ๋ก์ง์ ๋ณ๊ฒฝํ ๋ ๋ชจ๋ ๋ก์ง์ ์ฐพ์๊ฐ๋ฉด์ ๋ณ๊ฒฝํด์ผ ํ๋ค.. 2023. 7. 5. Spring - DB์ ๊ทผ5 (JPA) JPA๋ ๊ธฐ์กด์ ๋ฐ๋ณต ์ฝ๋๋ ๋ฌผ๋ก ์ด๊ณ , ๊ธฐ๋ณธ์ ์ธ SQL๋ JPA๊ฐ ์ง์ ๋ง๋ค์ด์ ์คํํด์ค๋ค. JPA๋ฅผ ์ฌ์ฉํ๋ฉด, SQL๊ณผ ๋ฐ์ดํฐ ์ค์ฌ์ ์ค๊ณ์์ ๊ฐ์ฒด ์ค์ฌ์ ์ค๊ณ๋ก ํจ๋ฌ๋ค์์ ์ ํ์ ํ ์ ์๋ค. JPA๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ ์์ฐ์ฑ์ ํฌ๊ฒ ๋์ผ ์ ์๋ค. JPA๋ ์๋ฐ ์ง์์์ ORM(Object-Relational Mapping) ๊ธฐ์ ํ์ค์ผ๋ก ์ฌ์ฉ๋๋ ์ธํฐํ์ด์ค์ ๋ชจ์์ด๋ค. ๊ทธ ๋ง์ ์ฆ, ์ค์ ์ ์ผ๋ก ๊ตฌํ๋๊ฒ์ด ์๋๋ผ ๊ตฌํ๋ ํด๋์ค์ ๋งคํ์ ํด์ฃผ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ํ๋ ์์ํฌ์ด๋ค. JPA๋ฅผ ๊ตฌํํ ๋ํ์ ์ธ ์คํ์์ค๋ก๋ Hibernate๊ฐ ์๋ค. ORM(Object-Relational Mapping) ์ฐ๋ฆฌ๊ฐ ์ผ๋ฐ ์ ์ผ๋ก ์๊ณ ์๋ ์ ํ๋ฆฌ์ผ์ด์ Class์ RDB(Relational DataBase)์ ํ ์ด๋ธ์ ๋งค.. 2023. 7. 4. ์ด์ 1 ยทยทยท 4 5 6 7 8 9 10 11 ๋ค์