Spring/about spring

[IoC 컨테이너와 빈] ResourceLoader

dev_rosieposie 2023. 7. 24. 22:10

Goal 

  1. ApplicationContext의 Resource Loader에 대해 알아본다

ResourceLoader란?  

리소스를 읽어오는 기능을 제공하는 인터페이스

public interface ApplicationContext extends ResourcePatternResolver

public interface ResourcePatternResolver extends ResourceLoader
  • getResource(location);

ResourceLoader의 기능

  • 파일 시스템에서 읽어오기
  • 클래스패스에서 읽어오기
  • URL로 읽어오기
  • 상대/절대 경로로 읽어오기

AppRunner

@Component
public class AppRunner implements ApplicationRunner {
    @Autowired
    ResourceLoader resourceLoader;

    @Override
    public void run(ApplicationArguments args) throws Exception {
        Resource resource =  resourceLoader.getResource("classpath:/text.txt");
        System.out.println(resource.exists());
        System.out.println(resource.getDescription());
        System.out.println(Files.readString(Path.of(resource.getURI())));
    }
}

text.txt

hello spring

결과

true
class path resource [text.txt]
hello spring