JUMP개발자 2021. 5. 17. 00:29

Resource를 로딩하는 인터페이스를 ApplicationContext가 상속받아 구현되었다.

그렇기 때문에 ResourceLoader 대신 ApplicationContext를 @autowired 하여 사용할 수도 있다.

 

@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());
        // File의 존재 여부 출력
        System.out.println(resource.getDescription());
        // File의  경로 출력
        System.out.println(Files.readString(Path.of(resource.getURI())));
        // File의 내용을 출력
    }
}