반응형
Notice
Recent Posts
Recent Comments
관리 메뉴

개키우는개발자 : )

의존 오브젝트 추가 본문

반응형

결론 및 요약

스프링 컨테이너를 사용하여 애플리케이션에서 객체를 효율적으로 관리하고 재사용하는 방식을 배웠습니다. 특히, 싱글톤 패턴을 적용하여 중복된 객체 생성을 방지하고, 기존의 HelloController의 역할을 분리해, SimpleHelloService라는 서비스 객체를 통해 비즈니스 로직을 위임하는 방식으로 개선했습니다. 이를 통해 코드의 유지보수성을 높이고 책임을 분산시켜 더 효율적인 구조를 만들었습니다.

주요 내용 요약

  1. 스프링 컨테이너의 역할:

    • 스프링 컨테이너는 객체를 생성하고 관리하며, 객체를 한 번만 생성하여 재사용하는 방식으로 동작합니다. 이를 통해 여러 요청이 동일한 객체를 사용하게 되며, 이는 싱글톤 패턴과 유사한 효과를 제공합니다.
    • getBean() 메소드를 사용해 스프링 컨테이너에 등록된 객체를 가져와 사용하며, 객체의 생성을 직접 관리할 필요가 없어집니다.
  2. SimpleHelloService 도입:

    • HelloController의 로직을 단순화하고 비즈니스 로직을 SimpleHelloService로 분리했습니다. 이를 통해 컨트롤러는 요청을 검증하고 서비스에 작업을 위임하는 역할만 담당하게 되었습니다.
    • SimpleHelloServicesayHello() 메소드를 통해 인삿말과 이름을 결합하여 반환하는 간단한 역할을 맡습니다.
  3. 입력 검증 및 예외 처리:

    • HelloController는 클라이언트에서 전달된 파라미터를 검증하며, name 값이 누락된 경우에는 예외를 발생시킵니다. 이를 위해 Objects.requireNonNull() 메소드를 사용해 null 값 체크를 자동화하고, 비정상적인 요청에 대해 적절한 예외 처리를 추가했습니다.
  4. 테스트 및 검증:

    • 서버를 실행하여 수정된 코드가 정상적으로 작동하는지 확인했습니다. HelloController는 요청을 검증하고, SimpleHelloService가 인삿말을 생성해 응답으로 반환하는 과정이 기대한 대로 동작했습니다.

결론:
이번 작업에서는 스프링 컨테이너의 객체 관리 기능을 활용하여 객체 생성을 효율화하고, 컨트롤러와 서비스의 역할을 분리해 코드를 보다 유지보수하기 쉽게 만들었습니다. 이를 통해 애플리케이션의 확장성과 안정성이 크게 향상되었습니다.

반응형
Comments