본문 바로가기

Spring5

@Component, @Controller, @Service, @Repository의 차이점에 대해서 설명해주세요. @Component, @Service, @Controller, @Repository는 각각의 클래스를 특정 역할을 수행하는 Spring Bean으로 등록할 때 사용됩니다. 각 애너테이션은 클래스가 어떤 역할을 하는지를 명시적으로 나타내며, Spring의 @ComponentScan 기능을 통해 자동으로 Bean으로 등록됩니다. @Service, @Controller, @Repository 어노테이션은 내부적으로 @Component 어노테이션을 사용하고 있으며, 각 특징과 용도는 아래와 같습니다.@Component는 가장 일반적인 형태의 어노테이션으로, 특정 역할에 종속되지 않는 일반적인 Spring Bean을 나타냅니다. 공통 기능을 제공하는 유틸리티 클래스나, 특정 계층에 속하지 않는 일반적인 컴포넌트를.. 2025. 7. 23.
단위 테스트와 통합 테스트의 차이점은 무엇인가요? 단위 테스트는 소프트웨어의 가장 작은 단위, 즉 개별 메서드나 함수의 기능을 검증하는 테스트입니다. 특정 기능이 올바르게 동작하는지 확인하기 위함이며 독립적이고 빠르게 실행됩니다. 반면 통합 테스트는 개별 모듈들이 결합되어 전체 시스템이 올바르게 동작하는지 검증하는 테스트입니다. 모듈 간의 상호작용이 올바르게 동작하는지 확인하기 위함이며 실제 데이터베이스, 네트워크 등의 외부 시스템과의 통합을 테스트합니다.슬라이스 테스트는 무엇인가요? 🤔슬라이스 테스트는 특정 레이어(ex. controller, service, repository)에 대한 테스트입니다.애플리케이션의 특정 슬라이스가 올바르게 동작하는지 확인하기 위해 작성됩니다. 스프링의 특정 컴포넌트만 로드하여 테스트하므로 상대적으로 빠르게 실행됩니다... 2025. 7. 23.
스프링 배치 도메인 언어 시작하기에 앞서 스프링 배치관련은 다른 문헌을 보기보다 spring 공식참고문헌을 보는게 가장 좋은거 같았다.https://docs.spring.io/spring-batch/reference/domain.html배치의 도메인 언어숙련된 배치 설계자라면 Spring Batch에서 사용되는 배치 처리의 전반적인 개념에 익숙하고 편안할 것입니다. "작업"과 "단계", 그리고 개발자가 제공하는 처리 단위인 과 가 있습니다 ItemReader. ItemWriter그러나 Spring 패턴, 연산, 템플릿, 콜백 및 관용구 덕분에 다음과 같은 가능성이 있습니다.우려 사항의 명확한 분리에 대한 준수가 크게 개선되었습니다.명확하게 묘사된 구조적 계층과 인터페이스로 제공되는 서비스.간단하고 기본적인 구현 방식으로, 즉시 .. 2025. 7. 21.
스프링 빈(Bean) 이란 ? 📌 스프링 빈(Bean) 이란?빈(Bean)은 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트이다. 즉, 스프링 컨테이너가 관리하는 자바 객체를 뜻하며, 하나 이상의 빈(Bean)을 관리한다. 빈은 인스턴스화된 객체를 의미하며, 스프링 컨테이너에 등록된 객체를 스프링 빈이라고 한다. 쉽게 이해하자면 new 키워드 대신 사용한다고 보면된다. IHelloService helloService = new IHelloService()IHelloService 라는 인터페이스가 존재하고 helloService 인스턴스를 만들기 위해서는 new 라는 키워드를 사용해 인스턴스를 생성하였다.스프링 컨테이너가 관리하도록 하는 방법은 빈 태그를 사용하면 된다.이렇게 xml 파일 빈 태그를 추가하면 hell.. 2025. 7. 21.
스프링 (Ioc, DI, Aop, Psa) ❕ 들어가며이번 글에서는 스프링의 중요한 콘셉트인 IoC(제어의 역전), DI(의존성 주입), AOP(관점 지향 프로그래밍), PSA(이식 가능한 서비스 추상화)에 대해 알아보겠습니다.- IoC(제어의 역전)이 무엇인지- DI(의존성 주입)이 무엇인지- 스프링 컨테이너와 빈이 무엇인지- AOP(관점 지향 프로그래밍)이 무엇인지- PSA(이식 가능한 서비스 추상화)이 무엇인지 IoC와 DIIoCIoC는 Inversion of Control을 줄인 표현입니다. 직역하면 제어의 역전이죠. 이 말이 조금 어렵게 들리겠지만 자바를 공부하신 분이라면 충분히 이해할 수 있는 말입니다. 여러분이 지금까지 자바 코드를 작성해 객체를 생성할 때는 객체가 필요한 곳에서 직접 생성했을 겁니다. 다음을 보면 B 객체를 사용하.. 2025. 7. 16.