Spring @Autowired, @Transactional 어노테이션

Sanghyeop Lee·2023년 1월 1일
1

생략가능한 @Autowired 어노테이션

스프링 공부를 하던 중 강의안에 @Autowired 어노테이션이 적용되어야 하는 코드에 @Autowired 어노테이션이 생략되어 있는 걸 발견했다.

처음에는 강의안 오류인줄 알았는데 구글링 + 이후 강의에서 설명해주시길 다음과 같이 생성자가 하나인 경우 @Autowired를 명시해주지 않아도 자동으로 @Autowired가 적용된다고 한다.

public class MemberService {

    private final MemberRepository memberRepository;

    //@Autowired
    public MemberService(MemberRepository memberRepository) {
        this.memberRepository = memberRepository;
    }
    
}

테스트에서 @Transactional 어노테이션

스프링에서 @Transactional 어노테이션이 붙으면 Transaction 처리를 지원해준다.

테스트에 @Transactional 어노테이션이 붙어있는 경우에는 Transaction으로 테스트를 수행하고 테스트 완료 후 항상 롤백해서 이전 테스트의 데이터가 다음 테스트에 영향을 끼치지 않도록 할 수 있다.

참고

profile
개발자꿈나무

0개의 댓글