티스토리 뷰

728x90

이 부분은 언제나 봐도 혼란스러워 적어 놓는다

 

1. Dependency는 spring-boot-starter-web 뿐이다.

2. Security 설정과는 아무 상관 없다. 설정이 없으면 다 열리고 있으면 설정되어 있으면 경로를 풀어줘야 접근가능하다.

3. spring-boot-starter-web 하나 설정하고 기동하면 

  3-1 기본적으로 src/main/resources 폴더 내의 public 이나 static 폴더 안에 있는 파일들은 기본접근 가능하다. 

  3-2 예시로 http://localhost:8080/base.jpg 라고 검색하면 src/main/resources/public/base.jpg 경로로 검색된다.

 

4. 임의로 경로 설정을 하고 싶은 경우가 대부분의 목적인데, WebConfig 설정 파일을 이것 때문에 만들 필요는 없다.

  4-1 프로젝트 폴더와 상관없이 시스템의 특정 경로에 파일을 넣고 그곳을 접근하고 싶은 경우

    4-1-1 예를 들면 내 계정폴더 /Users/philipheur/photos 폴더에 base.jpg 파일을 넣고 http://localhost:8080/base.jpg 접근

#static-locations 에 있는 file: 뒤의 경로는 시스템 절대 경로이다.

spring:
  mvc:
    static-path-pattern: '/**'

  web:
    resources:
      static-locations: 'file:/Users/philipheur/photos'

   

    4-1-2 http://localhost:8080/photos/base.jpg로 접근하고 싶으면

spring:
  mvc:
    static-path-pattern: '/photos/**'

  web:
    resources:
      static-locations: 'file:/Users/philipheur/photos'

 

 

  4-2 용도가 별로 없겠지만 기본값처럼 src/main/resources/ 아래의 특정 경로를 열고 싶은 경우

    4-2-1 아래의 경우 http://localhost:8080/photos/base.jpg 검색은  src/main/resources/anything/base.jpg 로 접근 한다.

spring:
  mvc:
    static-path-pattern: '/photos/**'

  web:
    resources:
       static-locations: 'classpath:/anything'

 

5. 실무에서 위와 같은 내용을 사용할 일이 거의 없을 것 같지만 간단한 것 만들어보다 보면 필요한 경우가 있을 것 같다.

 

6. 실무에서는 인터페이스를 통해 여러 타겟으로 파일을 저장하고 URL로 fetch하는 방식이라 이런 걸 볼일은 없을 거 같다.

728x90
댓글