Spring 01. Spring 공부의 시작
주의!
공부하면서 제가 이해한 대로 쓰는거라 잘못된 부분이 있을 수 있습니다
만약 잘못된 부분이 있다면 댓글로 가르쳐주시면 감사합니다
01. Spring이 뭐지?
오늘부터 Spring 공부를 할 것인데
일단 Spring이 뭔지는 좀 알아야겠죠?
Spring이 뭘까요?
스프링 프레임워크는 자바 기반의 애플리케이션 프레임워크로 엔터프라이즈급 애플리케이션을 개발하기 위한 다양한 기능을 제공합니다
어.. 쉽게 말해 자바로 큰 규모의 개발을 할 때 쉽게 만들 수 있게 해주는 도구라고 생각하면 되겠네요
일단 '다양한 기능'을 제공한다고 하니 어떤 기능을 제공할지는 나중에 보고 이 문장도 한번 볼까요
애플리케이션 개발에 필요한 기반을 제공해서 개발자가 비즈니스 로직 구현에만 집중할 수 있게끔 하는 것
어떤 애플리케이션을 개발 한다고 치면 '비즈니스 로직'을 제외한 나머지 부분들 중에 매번 비슷비슷해서 굳이 처음부터 다시 만들 필요가 없는 것들이 있겠죠?
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
/*
알고리즘 구현 부분
*/
bw.write("");
bw.flush();
bw.close;
br.close;
알고리즘 문제 풀 때를 예를 들자면 저 같은 경우에는 이렇게 모든 알고리즘 문제 풀 때 필요한 입출력 부분은 새로 쓰기 귀찮아서 그냥 복붙하는 편입니다.
저기에서 알고리즘 구현 부분이 '비즈니스 로직'이라고 치면 저 입출력 부분을 미리 만들어두고 복붙 시켜주는게 Spring이 하는 일이라고 보면 되겠습니다.
02. 그래서 Spring은 뭐지?
근데 위의 설명은 사실상 '프레임워크'에 대한 설명에 가깝고 Spring이 뭔지는 아직 감이 오지는 않죠
Spring만의 특징을 이제 하나씩 살펴볼건데 한꺼번에 다 볼 수는 없고
오늘은 제어 역전(IoC)과 의존성 주입(DI) 이 두 개를 알아 봅시다.
처음 보는 용어라 생소하죠?
제어 역전과 의존성 주입에 대한 쉬운 이해를 위해
Template Method Pattern과 Strategy Pattern이라는 두가지 디자인 패턴을 보고 갈 겁니다.
위 두가지 디자인 패턴은 뭔가 쓰다보면 불편한 점이 나타날 건데요 그게 정상입니다
그 불편한 점을 해결해주는게 Spring이니까요
다음 포스트에서
Template Method Pattern부터 살펴볼게요
다음 포스트에서 봐요~