inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 프레임워크 핵심 기술

스프링 AOP: 프록시 기반 AOP

인터페이스가 있는 경우 인터페이스 타입으로 주입하는 추가 질문입니다.

256

최경래

작성한 질문수 2

0

AOP가 뭔지 이해하는 과정에서 그렇구나 하고 넘어가다 갑자기 인터페이스가 있는 경우 왜 인터페이스 타입으로 주입해야하는거지 하고 질문 게시판을 봤는데 역시나 같은 궁금증을 가진 분이 있어서 답변을 보았습니다.

먼저 클래스가 final이나 생성자가 private일 때는 이해가 갔는데 유튜브로 보여주신 건 보고 좀 생각을 오랫동안 해봤습니다. 스프링 트랜젝션과 AOP 등등 구글링을 많이 해보면서 이해를 해보았는데요

spring.aop.proxy-target-class를 false로 인터페이스 기반으로 프로퍼티를 설정해준다음 인터페이스에서@Transactional 을 메소드에 붙이면 인터페이스 기반으로 프록시 객체가 만들어지고 메소드가 호출될 때 프록시 객체가 그 메세지를 대신 받아 트랜젝션을 실행시키고 메소드를 실행하는데 @Autowired를 클래스로 주입하면 자기 자신의 메서드를 호출하면서 인터페이스 기반으로 트랜잭션 프록시 객체가 만들어졌기 때문에 프록시 객체를 거치지 않게 되고 그래서 에러가 나는걸로 이해했습니다. 이게 맞게 이해한건가요? 아니면 어느 부분을 더 봐야하는지 알려주시면 감사하겠습니다.

spring java

답변 1

1

백기선

유튜브에 관련한 내용을 영상으로 올려두었으니 참고해 주시기 바랍니다.

문제

해설

감사합니다.

BeanFactory와 ApplicationContext 중 사용하고 싶은 컨테이너를 설정 할 수 있나요?

0

378

1

프로젝트 생성에 관련한 질문

0

374

1

안녕하세요 강의 내용을 듣다가 궁금점이 생겨 글을 남기게 되었습니다.

0

370

1

HttpServeltRequest 객체의 빈 스코프에 대해 질문 드립니다.

0

304

0

PropertyEditor non thread-safe 한 이유

0

490

1

빈의 초기화 시점이 궁금합니다.

0

393

1

이 강의 예제소스 없나요?

0

345

1

릴로딩 기능에 대해

0

404

1

Bean 을 특정 Application...Event 발생 후, 등록하는 방법이 궁금합니다

0

611

3

IoC/DI와 POJO의 관계

1

747

2

기선님 RetentionPolicy에 대해서 질문이 있습니다.

0

291

1

안녕하세요 기선님!

3

486

3

비동기적으로 실행할때

0

313

2

"Prototype/프록시"로 설정했는데 동일한 객체로 나옵니다

0

529

4

@Autowired 로 가져오는 Bean은 ?

2

280

1

Type-Safety 의미

0

537

1

Null Point

0

318

1

WebDataBinder를 특별히 쓰는 이유가 있나요?

0

383

1

안녕하세요?

0

335

2

애노테이션이 없습니다(?)

0

275

3

코드 중 변수 앞에 적는 것이 무엇인지 알고 싶습니다.

0

289

2

강의 하시면서 사용하는 resolving 이란 단어는 어떤 의미인가요?

1

1494

1

IOC컨테이너관련 질문입니다

0

240

3

백기선님 , 강좌 순서 때문에 고민드립니다.

0

458

4