• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

TT 감은 왔는데 정리가 잘 안되네요

20.07.22 23:17 작성 조회수 185

2

강의 잘 들었습니다! 15분강의인데 50분 정도 생각을 정리해도 긴가민가 해서 질문드립니당

ApplicataionContext는 resourceLoader를 구현해서 getResource하면 resource타입 객체를 반환하는데 

여기서 Resoure인터페이스를 구현한 구현체 ClassPathResource , ServletContextResource , FileSystemResource중에서 이용해서 가져오는데 ApplicationContext는 일단 defalut로는 ServletContextResource 이용 해서 가져오는데 접두어 classpath나 File를 쓰면 강제로 가능하게 합니당

근데 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("abc.xml");같은 경우에는 ClassPathXmlApplicationContext이게 ApplicationContext구현체인거는 알겠는데 classpath를 안적어도 되는이유가 내부적으로 "abc.xml"이 classpath:abc.xml(위치)로 변환되서 그런걸까요? 

답변 1

답변을 작성해보세요.

5

"defalut로는 ServletContextResource 이용 해서 가져오는데" 아니요. default로는 ApplicationContext의 구현체에 따라 달라지는데, 스프링 부트가 생성하는 applicationContext가 기본으로 서블릿 기반 WebApplicationContext라서 ServletContextResource 인거에요. 그 뒤는 맞구요.