SOLID란? 1) SRP(Single Responsibility Principle) 한 클래스는 하나의 책임만 가져야 한다. 2) OCP(Open / Closed Principle) 소프트웨어 요소는 확장에는 열려있으나 변경에는 닫혀있어야 한다. 3) LSP(Li
아래와 같은 코드가 있다. 여기서 아래의 코드는 OCP와 DIP를 잘 지켰을까?→ 그렇지 않다. 주문 서비스를 구현한 OrderServiceImpl는 겉보기에는 MemberRepository라는 인터페이스를 사용하는것 같지만, 실제로는 이를 구현한 MemoryMembe
스프링 Bean의 특징 앞의 글에서 스프링 Bean이 무엇인지 살펴보았다. 간단히 말하면 스프링이 의존관계 주입을 위해 생성하고 관리하는 객체이다. 그러면 일반적인 의존성 주입과 스프링 빈을 통한 의존성 주입에는 어떠한 차이가 있을까? 이에 대한 답은 스프링은 Bea
스프링 빈은 스프링 컨테이너 내부에서 생성되고, 스프링이 종료되기 전까지 생명주기(Life-Cycle)을 가지고 있다.이때, 스프링은 객체 생성 → 의존관계 주입의 라이프사이클을 가진다.스프링 내부에서는 스프링의 라이프 사이클과 관련하여 이벤트가 있는데 순서는 다음과
데이터 중심 애플리케이션을 단독으로 빌드하고, 테스트하고 배포할 수 있다.메세지 구성 요소에 모던한 마이크로 아키텍처 패턴을 적용할 수 있다.이벤트 중심적 사고에서 애플리케이션간의 책임을 분리할 수 있다. 각 서버의 노드는 이벤트의 원본 발행자를 신경쓰지 않고 이벤트를
액추에이터는 스프링 부트가 제공하는 기능으로 지표 수집, 추적, 감사 등의 모니터링을 쉽게 할 수 있는 다양한 편의 기능을 제공한다. 또한 최근 유행하는 마이크로미터, 프로메테우스, 그라파나 같은 다양한 모니터링 시스템과 매우 쉽게 연동할 수 있는 기능도 제공한다.들어