반응형
리소스를 읽어오는 기능을 제공하는 인터페이스
ApplicationContext extends ResourceLoarder
리소스 읽어오기
- 파일 시스템에서 읽어오기
- 클래스패스에서 읽어오기
- URL로 읽어오기
- 상대/절대 경로로 읽어오기
resource.exists();
@Component
public class AppRunner implements ApplicationRunner {
@Autowired
ResourceLoader resourceLoader;
@Override
public void run(ApplicationArguments args) throws Exception {
Resource resource = resourceLoader.getResource("classpath:test.txt");//test.txt라는 파일을 받아온다.
System.out.println(resource.exists());//resource에 test.txt 파일이 존재하는가?
}
}
실행 결과
false
resource file 내용 읽어들이기
@Component
public class AppRunner implements ApplicationRunner {
@Autowired
ResourceLoader resourceLoader;
@Override
public void run(ApplicationArguments args) throws Exception {
Resource resource = resourceLoader.getResource("classpath:test.txt");
//test.txt 파일이 존재 하는지?
System.out.println(resource.exists());
//resource의 풀 패키지 이름 출력
System.out.println(resource.getDescription());
//test.txt파일 내용을 읽어들이기
System.out.println(Files.readString(Path.of(resource.getURI())));
//Files 메소드는 java11부터 사용 가능하게된 메소드다.
}
}
실행 결과
true
class path resource [test.txt]
Hello Spring
URI 란?? https://iseunghan.tistory.com/86
Resource getResource(java.lang.String loation)
자세한건 다음글 Resource 추상화를 참조하라.
반응형