LogTrace 주입
513
작성한 질문수 96
안녕하세요.

원래 위의 상태에서, 아래에서 ConcreteProxyConfig.class 를 @Bean 으로 등록을 하면 LogTrace 주입이 잘 되는 이유가 궁금하네요.

ConcreteProxyConfig를 @Bean 으로 등록이 되어야만, ConcreteProxyConfig 내에 @Bean 으로 설정한 것들도 @Bean 으로 등록이 되는지는 알겠는데, 그렇다고 LogTrace 이 어떻게 @Bean으로 등록이 되어 주입이 될 수 있는지 궁금합니다.
감사합니다.
답변 2
3
안녕하세요. highjune님, 공식 서포터즈 David입니다.
ProxyApplication 내에서 LogTrace가 빈으로 등록되는 코드가 존재합니다.
ConcreteProxyConfig 내 @Bean이 붙은 메서드(이하 빈 생성 메서드)의 파라미터로 LogTrace가 있습니다. 빈 생성 메서드를 통해 빈을 생성하려고 할 때, 파라미터로 들어오는 타입에 해당하는 빈이 있는지 확인합니다. 이 과정에서 LogTrace 타입으로 이미 생성된 빈이 있다면 가져오고, 없다면 생성해서 가져오게 됩니다.
감사합니다.
0
안녕하세요 오래된 질문이지만, 궁금한 점이 있어서 댓글을 남깁니다.
파라미터에 객체변수가 있는 스프링 빈 수동 등록 메서드가 있을 때, 그리고 파라미터에 존재하는 클래스가 스프링 빈으로 등록이 되어 있다면, 파라미터에 존재하는 객체에 대해서 빈 주입은 스프링 컨테이너가 빈등록 메서드를 호출할 때 자동으로 진행한다고 이해했습니다.
그런데 만약 파라미터에 존재하는 클래스가 빈 등록이 안되어 있다면, 컨테이너가 자동으로 생성해서 가져오신다고 했는데 이 부분에 대해서 자료가 없는 거 같아서 여쭤봅니다. 빈이 없으면 생성해서 가져온다는 건 구글링해도 안나오고.. gpt에게 물어봐도 빈이 없으면 오류처리가 될 거라고 답변이 되니 어떤게 사실인지 궁금합니다.
0
안녕하세요, 인프런 AI 인턴이에요.
LogTrace가 @Bean으로 등록되어 주입되는 이유는 Spring 프레임워크에서 IoC 컨테이너가 Bean으로 관리되는 클래스를 스캔하면서 LogTrace가 @Bean으로 등록되어 있기 때문입니다.
스프링에서 @Bean 어노테이션은 Bean으로 등록되는 메서드를 표시하는 역할을 합니다. @Bean 어노테이션이 붙은 메서드가 호출되면 해당 메서드의 반환값, 즉 LogTrace 객체가 IoC 컨테이너에 등록되어 Bean으로 관리됩니다.
즉, ConcreteProxyConfig 클래스를 @Bean으로 등록하면, 그 안에서 @Bean으로 설정한 LogTrace도 IoC 컨테이너에 등록되어 Bean으로 관리됩니다. 이후에 LogTrace가 필요한 클래스에서 @Autowired 어노테이션을 이용하여 주입받을 수 있게 됩니다.
이와 같은 방식으로 Bean을 등록하고 주입받는 것은 스프링의 IoC 컨테이너 기능을 활용하여 객체들 간의 의존성을 관리하고 주입받을 수 있게 하는 기능입니다.
추가적인 설명이 필요하시다면 구체적인 코드나 설정 파일을 알려주시면 더 자세한 설명을 드릴 수 있을 것 같아요. 감사합니다.
0
안녕하세요, 읽다가 이해가 약간 안되서요
이후에 LogTrace가 필요한 클래스에서 @Autowired 어노테이션을 이용하여 주입받을 수 있게 됩니다.
이부분이 결국엔 loC 컨테이너에 등록 되고 loC 컨테이너에서 필요한 객체끼리 주입을 시킨다는건가요?
어드바이스 순서 디폴트 기준이 궁금합니다.
0
55
1
AspectV1 예제를 @Configuration 수동 등록으로도 가능한가요?
0
81
2
구체 클래스를 상속받아 확장한 형태도 클래스패턴/데코레이터 패턴이라고 칭하나요?
0
57
1
TraceTemplate 을 미리 빈으로 등록해서 사용할때 이렇게 설정하는게 맞는건가요?
0
54
1
Decorator 에서 추상메서드로 뺄때 질문 있습니다.
0
56
1
대상 클래스에 기본 생성자가 없을 때
0
76
1
스프링 부트 버전 4.0 aop 의존성 명칭 변경
1
362
2
final 키워드 사용 관련 질문
0
78
1
안녕하세요
0
65
1
ThradLocal 실무 사례
0
98
2
실무에서의 동시성 문제
0
64
1
로그 등 부가 기능에 대한 테스트코드
0
50
1
ProceedingJoinPoint와 MethodInvocation에 대하여
0
67
1
실무 멀티스레딩에 대한 궁금증
0
70
1
안녕하세요 질문있습니다
0
45
1
AspectV3 aop 실행 순서 문의 드립니다
0
38
1
MDC vs AOP 중에 고민중입니다.
0
76
1
순환참조
0
161
2
this를 단독으로 사용할때랑 파라미터 바인딩 할때 차이
0
78
1
빈 후처리에 등록 질문 있습니다.
0
77
1
AppConfig 설정하는 설명중에 이해가 안되는게 있습니다.
0
90
1
ThreadLocal을 지역변수로 선언하면 remove가 필요할까요?
0
118
2
@Aspect 어노테이션으로 생성된 Advisor의 Bean 저장 여부
0
69
1
ThreadLocal 사용시 부작용이 있을수 있을까요? (ThreadLocal.remove()를 잘한다고 해도..)
0
73
2





