proxy 빈 객체를 콘솔로그 중 질문이 있습니다.
221
작성한 질문수 1
안녕하세요. 이제 막 스프링을 공부하기 시작한 개발자입니다. 먼저 좋은자료 항상 쉽게 공유해주셔서 정말 감사합니다!
콘솔로 proxy Bean 객체를 repository constructor에 콘솔로그로 확인해보는데, AOP 코드를 삭제해도 결과가 그대로라 조금 헷갈립니다.
혹시 proxy 객체는 항상 만들어지게 되는 것일까요?
테스트 코드는 다음과 같습니다.
/* controller.MemberController.java */
public class MemberController {
private final MemberService memberService;
@Autowired
public MemberController(MemberService memberService) {
this.memberService = memberService;
System.out.println("memberService.getClass());
// output: class hello.hellospring.service.MemberService$$EnhancerBySpringCGLIB$$bf9c0667
// TimeTraceAop 코드를 삭제해도 그대로여서 항상 proxy 객체를 만드는 것인지 궁금합니다!
}
// (생략)
}
/* service.MemberService.java */
public class MemberService {
private final MemberRepository memberRepository;
public MemberService(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
System.out.println(this.getClass());
// output: class hello.hellospring.service.MemberService
}
// 생략
}
긴글 읽어주셔서 감사합니다!
답변 2
3
안녕하세요. 대훈님
스프링은 AOP를 사용하지 않으면 기본적으로 프록시를 사용하지 않습니다.
그런데 프록시로 보인 이유는 아마도 다음 애노테이션 때문일거에요^^
@Transactional
트랜잭션 처리를 위해서 스프링이 내부에서 AOP 처리를 합니다.
감사합니다.
1
안녕하세요 영한님!
친절하게 설명해주셔서 감사합니다 ㅠㅠ
@Transactional 내부에서 AOP 처리를 하는군요. 알려주셔서 감사합니다!
없애보니 똑같이 `class hello.hellospring.service.MemberService` 만 나오는 것을 확인하였습니다.
감사합니다 :)
..
0
72
2
Unused property.....
0
98
2
project JDK is misconfigured
0
128
2
외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석
0
81
2
단위/통합 테스트 버전충돌 문제
0
91
2
❗️springboot 4.0.2 버전 aspectj dependency 설정❗️
0
226
1
왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?
0
101
2
윈도우 build test오류 질문
1
102
2
테스트 관련 공부에 대한 조언을 얻고 싶습니다
0
98
2
테스트 실행 시 에러 질문
0
287
1
name을 통한 비교와 객체를 통한 비교
0
77
1
빌드 후 libs 없음
1
128
1
윈도우 gradlew.bat 에러
0
166
1
@PostMapping("/members/new")가 동작하지 않습니다
0
88
1
java static class와 kotlin class
0
77
1
스프링 DB연결
0
126
1
소요 시간
0
85
2
ddl.sql에 빨간 밑줄
1
101
2
welcome page 에러
0
180
3
잘 모르겠습니다.
0
160
2
fail을 똑같이 쳤는데 오류가 발생해요
0
156
2
index.html Welcome page
0
120
1
프로젝트 gradle-groovy ?
0
362
1
테스트코드 메서드명 한글
0
193
2





