📗 BOOK/전문가를 위한 스프링5 3

Spring 테스트 코드 적용하기(JUnit, TDD)

TDD란? 테스트 주도 개발 테스트를 먼저 설계 및 구축 후 테스트를 통과할 수 있는 코드를 짜는 것 애자일 개발 방식 중 하나 - 코드 설계시 원하는 단계 목표에 대해 설정하여, 프로그램 결정 방향의 갭을 줄임 - 최초 목표에 맞춘 테스트를 구축하여 그에 맞게 코드를 설계하기 때문에 적은 의견 충돌 목적 - 코드의 안정성 - 기능 추가, 변경 과정에서 Side-Effect를 줄일 수 있다. - 코드 목적을 명확하게 표현 가능 JUnit이란? Java 진영의 대표적 Test Framework 단위 테스트를 위한 도구 제공 - 단위 테스트란? -코드의 특정 모듈이 의도된 대로 동작하는지 테스트하는 절차 -모든 함수와 메소드에 대한 각각의 테스트 케이스를 작성 F.I.R.S.T 원칙 - Fast: 테스트코드..

전문가를 위한 스프링5 - 3장 정리(2)

필드 주입의 단점 1. 의존성을 추가하기가 쉽지만 단일 책임 원칙을 위반하지 않도록 주의해야 함. 많은 의존성이 생기면 클래스에 대한 책임이 커지므로 리팩터링 시에 관심사를 분리하기 어려움. 2. 의존성 주입의 책임은 스프링의 컨테이너에게 있지만, 필드 주입을 사용하면 어떤 타입의 의존성이 실제로 필요한지 의존성이 필수인지 여부가 명확하지 않을 수 있음. 3. 필드 주입은 final 필드에 사용할 수 없음. 4. 필드 주입은 의존성을 수동으로 주입해야 하므로 테스트 코드를 작성하기 어려움. @Component를 사용하면 기본적으로 @Service와 동일한 효과 가능 둘 중 어떤 어노테이션이라도 적용한 클래스는 애너테이션 기반 구성의 자동 검출과 클래스 경로 스캐닝의 대상이 됨 @Service는 @Comp..

전문가를 위한 스프링5 - 3장 정리

본 글은 스터디 내에서 전문가를 위한 스프링5를 읽고 정리한 글입니다. 3.1 Ioc와 DI 의존 객체: 의존성이 필요한 컴포넌트 -> Ioc에서는 대상(target)이라고 함 IOC : 의존성 주입(DI), 의존성 룩업(DL)로 나눌수 있음. 3.2 Ioc와 종류 의존성 룩업: 컴포넌트 스스로 의존성의 참조를 가져와야 함(의존성 풀, 의존성 룩업) 의존성 주입: Ioc 컨테이너가 컴포넌트에 의존성을 주입함(생성자, 수정자 의존성 주입) 3.2.1 의존성 풀 필요에 따라 레지스트리에서 의존성을 가져오게 됨 package com.example.prospring5; import org.springframework.context.ApplicationContext; import org.springframewor..