본문 바로가기
study/Spring

spring project 안에 저장한 사진 바로 로딩 안될때 해결 (feat. ResourceHandlerRegistry)

by stilinski 2022. 7. 19.
728x90

이미지 폴더가 프로젝트 폴더 밖에 있을 때

플젝 폴더 밖에 있을 때는 사실 크게 문제 될 건 없다.

꼭 이렇게 안 해도 된다. 그냥 자바 코드에서 주소를 바로 넣어도 됐었다.

그리고 보통 사진이 많아지면 많아질수록 프로젝트가 무거워지니까 프로젝트 밖에 두는 거 같다.

실제 배포할 때는 AWS3? 머 이런 걸 쓰는 거 같다.

 

 

이미지 폴더가 프로젝트 폴더 안에 있을 때

문제는 플젝폴더 안에있을때다. 보통 이런 리소스들은 static폴더안에 넣게 되는데 문제는 static이 말그대로 정적파일들을 넣는곳으로 인식이돼서 서버를 껐다가 켜야지 static 폴더안에 사진의 주소가 제대로 반영이 돼서 사진들이 보인다.

그니까 짧게 말하면 사진을 올리고 서버를 꼭 껐다가 켜야만 사진이 보임! 

이건 엄청난 문제.

 

그러나 해결책을 찾음

바로바로~ 그 정적 경로를 ResourceHandler로 registry 하면 됨!

 

config파일을 만들어서 WebMvcConfigurer를 implements 하면 많은 오버라이드 할 수 있는 메서드들 중에 addResourceHandler를 고르고 경로 등록해주면 됨~!

그러면 이런 식으로 바로 부르는 게 가능해짐! 대박사건 

 

 

 

 

어제 자기 전에 유데미 2개만 듣고 자야겠다 하고 마침 앞으로 들을 강의 2개가 둘 다 3분짜리라 오ㅋ 좋군 하고ㅋㅋ봤는데 첫 번째 3분짜리에서 설명한 게 이거였다. 3분짜리 2개 듣고 TODO LIST에 들었다고 체크하기 좀 민망했는데 배운건 많아서 양심에 찔리지 않게 되었다 ㅎ

728x90

댓글