본문 바로가기

Spring

(5)
@DirtiesContext를 사용하지 않고 테스트 데이터베이스 초기화하기 수많은 통합 테스트들을 작성하다 보면 여러 테스트 메서드들마다 테스트 데이터베이스에 다양한 데이터들을 저장하게 된다. 테스트 메서드들마다 어떤 데이터들을 저장하고 삭제했는지 신경쓰면서 구현할 수도 있지만 어떤 테스트가 다른 테스트에 영향을 받는 것은 좋지 않고, 무엇보다 테스트간 순서가 보장이 안 돼서 오히려 더 어렵다. 그래서 간편하게 @DirtiestContext를 사용하여 다음과 같은 방식을 사용한다.@ActiveProfiles("test")@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM..
[Spring 공식문서] Spring Core 1.5 😅 우선 글을 작성하기에 앞서 이 글은 스프링을 처음 공부하는 입장에서 Spring 공식 문서를 자의적으로 해석한 글이며 (번역기의 도움을 받아) 제게 필요하다고 생각되는 부분을 우선적으로 해석할 예정이라 중간중간 빈 부분이 있을 수 있으며 틀린 내용이 포함되었을 수 있습니다. 잘못된 부분이 있을 때 피드백 남겨주시면 능력껏 반영하도록 하겠습니다. 1.5. Bean Scopes 빈 정의를 만들 때, 빈 정의에 정의된 클래스의 실제 인스턴스를 생성하기 위한 레시피를 만듭니다. 빈 정의가 일종의 레시피라는 관점은 중요합니다. 그 뜻은, 클래스와 마찬가지로, 하나의 레시피로부터 많은 인스턴스를 생성할 수 있다는 의미이기 때문입니다. 당신은 특정한 빈 정의에 의해서 객체가 생성될 때 주입되는 다양한 의존성들과 ..
[Spring 공식문서] Spring Core 1.4 😅 우선 글을 작성하기에 앞서 이 글은 스프링을 처음 공부하는 입장에서 Spring 공식 문서를 자의적으로 해석한 글이며 (번역기의 도움을 받아) 제게 필요하다고 생각되는 부분을 우선적으로 해석할 예정이라 중간중간 빈 부분이 있을 수 있으며 틀린 내용이 포함되었을 수 있습니다. 잘못된 부분이 있을 때 피드백 남겨주시면 능력껏 반영하도록 하겠습니다. 1.4 Dependencies 일반적인 어플리케이션들은 하나의 객체(스프링에서의 빈)로 구성되어있지 않습니다. 간단한 프로그램이라도 몇몇 객체들이 서로 협력하여 사용자들에게 기능을 제공합니다. 해당 파트는 당신이 어떻게 독립되어 있는 수많은 빈들이 협력하도록 하여 원하는 기능을 제공할 수 있는지 설명합니다. 1.4.1 Dependency Injection (의..
[Spring] DAO는 어떤 값을 주고 받아야 할까?(DAO, DTO, Entity) 우아한 테크코스에서 처음 스프링을 사용하는 미션을 진행하면서 처음 접하는 개념들이 많았지만 가장 많은 고민을 했던 ‘데이터베이스의 관리는 어떻게 이루어지는가?’에 대해 정리하고자 한다. 우선 본격적인 내용을 소개하기 앞서 이해하면 좋은 개념 3가지를 간단히 정리하고자 한다. DAO, DTO, Entity를 스프링을 이용한 웹 프로그래밍 관점에서 주관적으로 정리했으므로 일반적인 개념들과 다를수도 있다. DAO (Data Access Object) 프로그래밍 분야에서 DAO는 데이터베이스나 여러 persistence mechanism (영속구조) 에 대한 추상 인터페이스를 제공하는 객체이다. DB에 접근하려는 여러 호출들을 persistence layer에 매핑시킴으로써 DAO는 데이터베이스의 상세한 사항을..
[Spring 공식문서] Spring Core 1.1 ~ 1.3 😅 우선 글을 작성하기에 앞서 이 글은 스프링을 처음 공부하는 입장에서 Spring 공식 문서를 자의적으로 해석한 글이며 (번역기의 도움을 받아) 제게 필요하다고 생각되는 부분을 우선적으로 해석할 예정이라 중간중간 빈 부분이 있을 수 있으며 틀린 내용이 포함되었을 수 있습니다. 잘못된 부분이 있을 때 피드백 남겨주시면 능력껏 반영하도록 하겠습니다. 1. IoC 컨테이너 1. 1 Spring IoC 컨테이너 및 Bean 소개 이 장에서는 Inveresion of Control(IoC) 원칙을 구현하는 Spring Framework를 다룹니다. IoC는 종속성 주입(DI)이라고도 합니다. 종속성은 객체가 다른 객체의 생성자나, 팩터리 메서드의 인수로 넘겨지거나 다른 객체 내부의 인스턴스로 선언될 때 발생하는..