Spring 2

DI를 쓰려면 꼭 IoC를 써야할까?

DI를 사용하는데 꼭 IoC가 필요한 것인지, 그렇지 않다면 IoC를 사용하지 않고 DI를 어떻게 구현할 수 있는 것인지 생긴 궁금증을 해소하던 과정을 작성한 내용입니다. DI와 IoC를 이해하신걸로 가정하고 글이 진행되오니 이 점 양해부탁드립니다!! DI란? 간단하게 설명하자면 DI(Dependency Injection)는 "의존성 주입" 이란 뜻을 가지며, 클래스 내부에서 다른 클래스의 메소드를 사용할 수 있습니다. 이를 통해 객체지향 프로그래밍에서 코드를 일종의 "도구"로써 가져와 사용할 수 있는 것입니다. 제가 궁금한 점을 보기 전 우리가 보통 사용하는 DI를 살펴보겠습니다. @Requiredargsconstructor public DependencyClass { private final Inje..

Spring 2022.12.20

[Spring] Spring Cache

Cache ? 캐시란 자주 사용하는 데이터를 저장해서 사용하는 기술를 뜻합니다. 캐시는 동일한 요청에 유사한 내용의 데이터를 반복적으로 반환해야 할 때 사용합니다. 간단히 설명하자면, 어느 한 교실에 학생과 선생님이 있습니다. 학생이 선생님에게 궁금한 점을 한 가지 질문하고 선생님은 학생에게 답변을 해줍니다. 하지만 학생이 매일매일 똑같은 질문을 또 반복합니다. 여기서 만약 학생이 선생님에게 한 질문의 답을 메모를 통해 질문에 대한 답을 기억했더라면, 굳이 선생님께 다시 질문을 하지 않았을 겁니다. 캐시는 이럴 때 필요합니다. 동일한 리소스(궁금증)를 반복적으로 조회(질문) 하게 되면 DB(선생님)에 부담이 되겠죠, 하지만 이 리소스를 따로 메모(저장) 해두어 조회할 때마다 DB가 아닌 메모를 통해 빠르..

Spring 2022.09.05