
이 글은 2026년 05월 07일 작성된 글입니다.
오늘은 테스트 롤백과 프로파일 분리,
프록시 기반 트랜잭션 흐름 복습,
그리고 명언 앱 구현 시작까지 정리했다.
테스트 실행 시 실제 DB 상태가 계속 변하면
테스트끼리 서로 영향을 주게 된다.
문제점:
@Transactional
@Rollback
@SpringBootTest
class PostRepositoryTest {
}
테스트 종료 후 자동 롤백된다.
테스트 환경에서는 @Transactional만 붙여도 기본 롤백된다.
@Transactional
롤백 막기:
@Rollback(false)
환경별 설정 분리 가능
application-dev.yml
application-test.yml
application-prod.yml
@ActiveProfiles("test")
테스트 환경에서만 test 설정 사용
@Profile("test")
테스트 환경에서만 특정 빈 생성
@ManyToOne
private Member author;
게시글과 작성자 연결
this.work1(); // 트랜잭션 X
self.work1(); // 트랜잭션 O
프록시를 경유해야 AOP 기능이 동작한다.
엔드포인트:
/wiseSayings
/wiseSayings/1
/wiseSayings/1/delete
Controller
→ Service
→ Repository
public interface WiseSayingRepository extends JpaRepository<WiseSaying, Long> {
}
본문을 마크다운으로 출력하도록 처리했다.