인프런 커뮤니티 질문&답변

심모님의 프로필 이미지
심모

작성한 질문수

스프링 핵심 원리 - 기본편

스코프와 Provider

@ComponentScan은 어디서 실행되고 있는건가요?

해결된 질문

작성

·

190

3

MyLogger를 보면

@Component
@Scope(value = "request")
public class MyLogger {

@Component 되어있는데 이를 스프링빈 등록하려면 어디선가 @ComponentScan이 진행되어야 할텐데

그 진행되는 부분이 어디인가요? 

예전에 만들어 놓은 AutoAppConfig 에서 진행되는건가요?

@Configuration
@ComponentScan
public class AutoAppConfig {
}

이게 예전에 예제하면서 만든 AutoAppConfig인데 이곳에서 진행되는건가 싶어서 @ComponentScan을 주석처리했는데도

실행을 하면 잘돌아가는걸 보니 MyLogger가 스프링빈에 등록된거 같은데 어디서 이작업을 진행되는지 알 수 있을까요?

추가 질문으로

Controller 부분에 @RequsetMapping("log-demo")로 요청받은 url을 알 수 있었는데 @GetMapping을 사용해도 차이는 없는건가요?

답변 1

2

안녕하세요. 심모님, 공식 서포터즈 OMG입니다.

CoreApplication 클래스에 @SpringBootApplication이 있을까요?

있다면 주석처리 되어있지는 않나요?

주석처리 되어 있지 않다면 ctrl + 마우스 좌클릭으로 해당 에노테이션을 클릭해보시겠어요?

-

Controller 부분에 @RequsetMapping("log-demo")로 요청받은 url을 알 수 있었는데 @GetMapping을 사용해도 차이는 없는건가요?

=>

기본적으로 웹 브라우저에서는 Get요청을 보내므로 GetMapping과 차이가 없습니다.

http메서드를 지정하지 않은 @RequsetMapping은 value에 해당하는 모든 http 메서드

 GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE )를 처리합니다.

ex)

[GET] localhost:8080/log-demo와 [POST] localhost:8080/log-demo 모두

@RequsetMapping("log-demo")

public class .... {

}

에서 처리

감사합니다. 

심모님의 프로필 이미지
심모

작성한 질문수

질문하기