트랜잭션 적용 확인
314
작성한 질문수 33
[질문 내용]
TxBasicTest 클래스 안에 BasicService가 있는데 왜 Autowired로 의존성주입이 필요한지 헷갈리고 궁금합니다ㅠㅠ
답변 2
0
안녕하세요. 해톨님, 공식 서포터즈 y2gcoder입니다.
TxBasicTest 코드에서 BasicService를 어떻게 주입하는지 보시면
@Autowired
BasicService basicService;위와 같이 사용하고 있습니다!
이 말은 스프링 빈으로 등록된 basicService 빈을 찾아 필드주입방법으로 의존성을 주입해준다는 말과 같습니다.
만약 Autowired를 제거해보시면 아마 BasicService basicService 필드에는 null이 들어가 있을 것입니다!
그러면 필드에서 초기화하면 되지 않을까 생각하실 수도 있습니다. 이것도 안되는게 @Transactional 을 적용하기 위해서는 해당 객체가 빈으로 등록되어 있어야 합니다. 그래서 결국 @TestConfiguration @Bean 조합으로 BasicService 객체를 빈으로 등록해줬고, 빈으로 등록하는 과정에서 @Transactional 에 의해 생성된 프록시 객체로 빈이 등록되었고, 이를 테스트에서 @Autowired 를 통한 필드 주입 방식으로 받아서 테스트해주고 있는 것입니다!
해당 내용들은 스프링 핵심원리 기본편, 고급편에서 자세하게 학습하실 수 있습니다
감사합니다.
0
테스트 하는 클래스여서 TestConfiguration에 스프링빈을 등록하고 의존관계주입을 하는 것 일까요 ? 그냥 클래스와 혼동했습니다 ㅜㅜ 혹시 제가 이해한 것이 맞을까요 ?
RepositoryTest의 패키지 위치가 domain인 이유
0
29
2
REQUIRES_NEW 해결 방법에 대해서 질문있습니다!!
0
29
1
update()에 사용하는 setter 질문드립니다.
0
47
1
SQL 중심적 개발의 문제점에 대한 질문
0
72
1
혹시 Containing 을 안쓰신 이유가 있을까요?
0
83
2
[공유] 스프링부트 4.x 버전 mybatis 연동
0
173
1
@repository 어노테이션
0
89
3
ItemService
0
58
1
논리 커밋, 물리 커밋 질문드립니다.
0
54
1
내부 트랜잭션 커밋은 필수인가요?
0
57
1
프록시 커넥션 객체를 반환할 때 생성하는건가요?
0
54
1
Transaction readOnly 성능 개선 (김영한님의 대한 감사인사)
2
178
2
JPQL 대신 네이티브 쿼리를 사용해야 하는 경우
0
77
1
@EventListener(ApplicationReadyEvent.class) 관련
0
88
1
트랜잭션 동기화 매니저와 데이터 소스
0
76
1
DB 관련 강의 개설 계획은 없으신건가요?
0
133
2
물리 트랜잭션 과 논리트랜잭션 용어를 맞게 이해한걸까요
0
94
1
스프링 3 버전 이상 rollbackFor 변경된듯요
1
112
1
트랜잭션 전파 질문.
0
87
1
프로젝트 오픈 에러
0
126
1
외부 트랜잭션에서 isNewTransaction이 false로 나오는거에 대해 질문드립니다
0
83
2
같은 스레드를 사용하면 트랜잭션 동기화 매니저는 같은 커넥션을 반환
0
72
1
h2 인메모리 테스트중 예약어 충돌날 경우 대처방법
0
102
1
커스텀aop와 트랜잭션을 같이 사용할때 우선순위에 관한 질문
0
98
2





