| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
Tags
- java
- 프로퍼티
- Framework
- Linux
- @JUnit
- POJO
- SpringJDBC
- unix
- 리눅스
- 마이바티스
- Spring Boot
- @test
- Di
- 컨테이너
- java spring
- pointcut
- spring aop
- JDBC TEMPLATE
- spring framework
- spring
- @Spring-Test
- Spring JDBC
- XML
- AOP
- STS
- Ubunt
- myBatis
- JdbcTemplate
- Dependency Injection
- @AspectJ
Archives
- Today
- Total
개키우는개발자 : )
의존 오브젝트 추가 본문
반응형
결론 및 요약
스프링 컨테이너를 사용하여 애플리케이션에서 객체를 효율적으로 관리하고 재사용하는 방식을 배웠습니다. 특히, 싱글톤 패턴을 적용하여 중복된 객체 생성을 방지하고, 기존의 HelloController의 역할을 분리해, SimpleHelloService라는 서비스 객체를 통해 비즈니스 로직을 위임하는 방식으로 개선했습니다. 이를 통해 코드의 유지보수성을 높이고 책임을 분산시켜 더 효율적인 구조를 만들었습니다.
주요 내용 요약
스프링 컨테이너의 역할:
- 스프링 컨테이너는 객체를 생성하고 관리하며, 객체를 한 번만 생성하여 재사용하는 방식으로 동작합니다. 이를 통해 여러 요청이 동일한 객체를 사용하게 되며, 이는
싱글톤 패턴과 유사한 효과를 제공합니다. getBean()메소드를 사용해 스프링 컨테이너에 등록된 객체를 가져와 사용하며, 객체의 생성을 직접 관리할 필요가 없어집니다.
- 스프링 컨테이너는 객체를 생성하고 관리하며, 객체를 한 번만 생성하여 재사용하는 방식으로 동작합니다. 이를 통해 여러 요청이 동일한 객체를 사용하게 되며, 이는
SimpleHelloService 도입:
HelloController의 로직을 단순화하고 비즈니스 로직을SimpleHelloService로 분리했습니다. 이를 통해 컨트롤러는 요청을 검증하고 서비스에 작업을 위임하는 역할만 담당하게 되었습니다.SimpleHelloService는sayHello()메소드를 통해 인삿말과 이름을 결합하여 반환하는 간단한 역할을 맡습니다.
입력 검증 및 예외 처리:
HelloController는 클라이언트에서 전달된 파라미터를 검증하며,name값이 누락된 경우에는 예외를 발생시킵니다. 이를 위해Objects.requireNonNull()메소드를 사용해null값 체크를 자동화하고, 비정상적인 요청에 대해 적절한 예외 처리를 추가했습니다.
테스트 및 검증:
- 서버를 실행하여 수정된 코드가 정상적으로 작동하는지 확인했습니다.
HelloController는 요청을 검증하고,SimpleHelloService가 인삿말을 생성해 응답으로 반환하는 과정이 기대한 대로 동작했습니다.
- 서버를 실행하여 수정된 코드가 정상적으로 작동하는지 확인했습니다.
결론:
이번 작업에서는 스프링 컨테이너의 객체 관리 기능을 활용하여 객체 생성을 효율화하고, 컨트롤러와 서비스의 역할을 분리해 코드를 보다 유지보수하기 쉽게 만들었습니다. 이를 통해 애플리케이션의 확장성과 안정성이 크게 향상되었습니다.
반응형
'토비의 스프링 부트 - 이해와 원리 > 섹션5 - 독립 실행형 스프링 애플리케이션' 카테고리의 다른 글
| 애노테이션 매핑 정보 사용 (0) | 2024.10.06 |
|---|---|
| DispatcherSevlet으로 전환 (0) | 2024.10.06 |
| 의존 오브젝트 DI 적용 (0) | 2024.10.06 |
| Dependency Injection (0) | 2024.10.06 |
| 스프링 컨테이너 사용 (0) | 2024.10.06 |
Comments