자소서를 쓰고 꾸준히 공부를 해야한다고 생각이된다.. 훙.. 본가(울산)에 내려오면서 많이 힐링을 했던거같다. 한줄일기 끝
Spring 내부 Resource 구현체 중 대표적인 몇가지
java.net.URL을 래핑한 버젼, 다양한 종류(ftp:,file:,http:,등의 prefix로 접근유형 판단)의 Resource에 접근 가능하지만 기본적으로는 http(s)로 원격접근
classpath(소스코드를 빌드한결과(기본적으로 target/classes폴더)) 하위의 리소스 접근 시 사용
이름과 같이 File을 다루기 위한 리소스 구현체
Servlet 어플리케이션 루트 하위 파일, InputStream(키보드 입력등), ByteArrayInput(바이트로 들어오는) 스트림을 가져오기 위한 구현체
구현체가 실제로 Spring에서 쓰이는 방식은 아래이다.
스프링 프로젝트 내 Resource(파일 등)에 접근할 때 사용하는 기능
스프링 ApplicationContext에서 ResourceLoader를 불러올때 사용하는 Interface
위치 지정자 패턴(classpath 하위냐,file하위냐,http경로이냐)에 따라 자동으로 Resource 로더 구현체를 선택
applicationContext(스프링의 핵심설정)을 이루는 설정값을 가져오는 방법들
과거 3.XX 버전에는 이런식으로 xml파일을 읽어와서 applicationContext를 등록을 해줬다.
현재에는 xml로 구성을 잘안하고 어노테이션 기반으로 설정값들을 찾고있다.
스프링에서 classpath 하위의 파일들을 읽어오기 위해서 내부적으로 Resource를 구현했었고 그 Resource를 가져오기위한 ResourceLoader를 구현하고 ResourceLoader는 결국 ApplicationContext에 붙어 있기때문에 applicationContext는 spring프로젝트의 파일들에 접근해서 파일들을 불러와서 Spring Container를 생성해서 띄워줄수 있다 라고 정리해주셨는데.. 이부분은 다시공부를 해야 이해가 될거같다.