spring container 3

IoC/DI란? 그리고 Spring이 적용하는 OCP(개방 폐쇄 원칙)

Spring Container는 흔히 Spring IoC/DI Container 라고 불릴 정도로IoC와 DI는 Spring에서 빠질 수 없는 가장 대표적인 특징이다.그런데 DI(의존성 주입) 그리고 IoC(제어의 역전)라는 단어만 따로 보면 직관적으로 이해하기 어렵다.분리되어 있는 두 개념을 한 번에 정리하면서,객체 지향 설계 원칙 중 하나인 OCP(개방 폐쇄 원칙)를 알아보자. Spring IoC/DI Container의 의미의존성 주입(Dependency Injection)이라는 용어는 의존관계를 주입해 준다는 것을 말하는데, 여기서 '의존 관계'라는 건 Spring에서만의 특별한 개념이 아니라 어떤 A라는 객체가 B라는 클래스 or 오브젝트를 사용하는 것을 뜻한다. 이때 'A는 B에 의존하고 있다..

Spring 2024.09.21

Servlet Container란? 그리고 Spring과의 관계

Servlet과 Servlet ContainerServlet은 URI정보 및 클라이언트의 요청 정보를 분석하는 기능을 담당하는 Java 표준 기술이다. 그리고 이 표준 기술을 이용한 Servlet Container 중 가장 대표적인 예로 Tomcat이 있다. 다시 말해, 우리가 많이 사용하는 Tomcat이라는 WAS는 (Servlet) Container 기술을 구현한 라이브러리 중의 하나이며, Tomcat 자체가 Java의 표준이 아니다. 이외에도 종류가 많은데 특히 Springboot에서는 Tomcat 과 Jetty, undertow(언더토우) 이 3가지의 Container를 Standalone하게 동작할 수 있도록 지원하고 있다(쉽게 변경 및 선택이 가능하다) Spring Boot Reference ..

Spring 2024.09.17

Bean이란? 그리고 Spring의 싱글톤 활용(singleton registry)

빈(Bean) 이란?Bean이란 컴포넌트 모델에서 유래한 JavaBeans에서 따온 단어이다.컴포넌트 모델(Component Model)은 모듈화, 재사용성, 유지 보수성을 위해 발전해 온 소프트웨어 개발의 범용적인 개념인데, 자바(Java)는 이 개념을 기반으로 JavaBeans라는 개발 표준을 도입했다.그래서 Bean이라는 용어는 Java 초기부터 '재사용 가능한 객체(Object)'를 지칭하는 용어로 자리잡았고, 이 개념이 스프링 프레임워크(Spring Framework)까지 이어지게 된 것이다. 이로 인해, 스프링 컨테이너에 의해 관리되는 객체를 Bean이라는 용어로 부르게 된 것이며 자바에서 컴포넌트(Component)란 사실상 Bean과 동일한 의미로 사용된다. 결론적으로 애플리케이션의 기능을..

Spring 2024.09.01