spring di
-
Spring Framework 시리즈 11화 – 테스트 가능한 구조 만들기와 DI 테스트 전략기술과 산업/언어 및 프레임워크 2025. 6. 2. 13:16
스프링의 의존성 주입 구조를 테스트에 적합하게 리팩토링하는 방법과 함께, 단위 테스트와 통합 테스트에서 @TestConfiguration, @MockBean, ApplicationContext 활용 전략을 소개합니다. 왜 테스트 가능한 구조가 중요한가? 실무에서 스프링 애플리케이션의 성공 여부는 테스트 전략에 크게 좌우됩니다.하지만 많은 개발자가 기능은 되는데 테스트는 어려운 구조를 만들어냅니다. 그 이유는 다음과 같습니다: new 키워드 남용 → DI 불가내부 의존성 연결이 강함 → Mock 불가Bean 설정이 하드코딩 → 프로파일 분기 실패 이제, 우리가 앞서 만든 DI 기반 계산기 시스템을 테스트 가능한 구조로 바꿔보고, 실제 테스트 코드까지 작성해보겠습니다. 1. 설계 리팩토링 – 인터페이스 ..
-
Spring Framework 시리즈 10화 – 실무 예제: 간단한 DI 기반 계산기 시스템 구현기술과 산업/언어 및 프레임워크 2025. 5. 29. 16:30
스프링 핵심 개념인 @Component, @Autowired, @Value, @EventListener 등을 실제 프로젝트에 통합하여 DI 기반 계산기 시스템을 구현해봅니다. 학습한 이론을 코드로 연결하고 구조적으로 정리합니다.프로젝트 개요우리는 간단한 계산기 시스템을 만들 겁니다.사용자가 두 수와 연산자(+, -, *, /)를 입력하면, 계산을 수행하고 결과를 출력하며, 이벤트 리스너를 통해 로그 또는 통계 처리를 따로 분리합니다.📁 프로젝트 구조src/ └── main/ ├── java/ │ └── com.example.calculator/ │ ├── AppConfig.java │ ├── Calculator.java │ ├..
-
Spring Framework 시리즈 2화 – @Component와 @Autowired로 의존성 주입 구현하기기술과 산업/언어 및 프레임워크 2025. 5. 20. 12:49
Spring의 의존성 주입(DI)을 구성하는 기본 애노테이션인 @Component와 @Autowired의 사용법과 주의사항을 실제 코드 예제와 함께 알아봅니다.의존성 주입(DI)은 왜 중요한가?Spring에서 **DI(Dependency Injection)**는 객체 간 의존 관계를 외부에서 주입받는 방식으로 구성해 유연성과 테스트 용이성을 확보합니다.직접 new로 객체를 생성하는 방식은 강한 결합을 유발하며, 테스트 시 Mock 객체를 주입하기도 어렵습니다.Spring은 이를 해결하기 위해 주요 애노테이션들을 제공합니다:@Component: 스프링이 관리할 객체(빈)를 선언@Autowired: 스프링 컨테이너에 등록된 빈을 자동으로 주입실습 예제 – 자동차와 엔진1. 의존 관계 정의// Engine.j..