[Spring] 싱글톤 패턴, 스프링 컨테이너, @Configuration
0. 개요 이번 게시물에서는 싱글톤, 스프링 컨테이너, @Configuration의 효과에 대해 작성할 것이다. 해당 게시물을 보기 전, 아래 링크의 글을 보고 오는 것을 추천한다. (스프링 빈과 스프링 컨테이너) 1. 싱글톤 패턴이 왜 필요할까? 모든 설명에 나오는 예시 프로젝트의 설계 방식은 아래 링크를 참고 https://imgzon.tistory.com/114 스프링은 기본적으로 온라인, 그중에서도 웹 애플리케이션을 개발하기 위해 탄생하였다.(물론, 웹이 아닌 애플리케이션 개발도 가능은 하다) 일반적인 웹 애플리케이션이라면, 보통 여러 고객들이 동시에 요청을 한다. 이때, 스프링을 적용하지 않은 순수한 DI 컨테이너로 작성한 경우, 요청을 받을때마다 객체를 새로 생성한다. -> 만일 요청이 1초에..
2023. 1. 10.
[Spring] IOC, DI, 컨테이너
1. 제어의 역전 IOC (Inversion of Control) - 보통 프레임워크 없이 개발 할 경우, 객체의 생성, 설정, 초기화, 메서드 호출, 소멸, 즉 한 객체의 모든 것을 프로그래머가 직접 관리한다. - 하지만 프로그래머가 작성한 객체, 그리고 포함된 메서드를 개발자가 아닌, 외부에서 제어하는 것을 제어의 역전(IOC)이라고 한다. - 따라서 프로그래머는 핵심 코드 개발에 더 집중할 수 있고, 프로그램의 제어 책임은 프레임워크로 넘어간다는 장점이 있다. - 위에서 자주 나온 내용인 "프레임워크"와 우리가 일반적으로 사용하는 라이브러리를 구분하는 방법은 다음과 같다. -> 프레임워크 : 내가 작성한 코드를 제어하고, 대신 실행한다. -> 라이브러리 : 내가 작성한 코드를 직접 제어한다. (내가..
2022. 12. 17.