Spring Framework 한 문장으로 Spring을 이해하기 위해 어떤 문장을 써야 할지 고민이 많이 된다. 다른 블로그를 찾아보면 "자바 엔터프라이즈 개발을 편리하게 해주는 오픈소스 경량급 애플리케이션 프레임워크"라고 표현한다. 이 문장이 스프링에 대한 전반적인 설명이 담겨 있다고 생각하지만, 개발 입문하는 사람이 바로 받아들일 수 있는 문장처럼 보이지 않는다. 그래서 나의 기준으로 현 시점(개발자 준비생)에서 내가 생각하는 스프링은 수 많은 기술들(다양한 외부라이브러리 JSP, MyBatis, JPA 등)의 사용과 반복되는 코드 중복 최소화, 비즈니스 로직에 집중할 수 있는 프레임워크. 이 표현에는 부족한 부분이 있다고 생각하지만, 그 부분은 이후의 설명들에서 채워가나보록 하겠다. 기술이 있으면..
DI (Dependency Injection, 의존성 주입) 의존성 주입. 의존성이라는 정체 모를 무언가를 주사기에 넣어서 넣는다는 의미로 받아들여진다. 그럼 여기서 정체 모를 의존성이 무엇인지 알아보자. 의존성은 하나의 객체가 다른 객체에 의존하게 되어 다른 객체 없이 제대로 된 역할을 수행하지 못함을 의미한다. 주입은 외부에서 밀어 넣은것을 의미한다. 그렇다면 DI는 한마디로 어떤 객체에게 필요한 다른 객체를 외부에서 밀어 넣어서 이 다른 객체 없이는 제대로 된 역할을 수행 할 수 없도록 하는 것 이라고 말할 수 있다. 그럼 스프링 관점에서 DI를 보면 객체와 객체를 분리해서 생성하고, 이러한 객체들을 엮는 작업을 하는 형태 라고 볼 수 있다. 글로 확인했으니 이제 개발자가 봐야 하는 코드로 확인해보..