0
나는 로컬 파일 시스템에서 정적 파일을 제공 나의 봄 부트 프로젝트의 구성에서 다음이 필요 : 설정 위스프링 부트 : 정적 리소스 핸들러를 동적으로 변경 하시겠습니까?
@Configuration
public class StaticResourceConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry)
{
System.out.println("adding resource handler");
registry.addResourceHandler("/myfiles/**").addResourceLocations("file:///C:/Users/Pepria/Downloads/static_files/");
}
}
잘 작동하지만 런타임에 동적으로 자원 위치를 변경하고 싶습니다. 내가 알기로, 위의 코드는 내 논리가 실행되기 전에 실행됩니다. 어떻게이 일을 할 수 있습니까?
위치를'.properties' 파일에 추가하기 만하면됩니다. 'Environment' 인스턴스를 삽입하고 "locations"를 추가하기 전에 그것으로부터 키/값을 읽으십시오. –
@ ɯıp I 앞서 언급했듯이, 리소스 위치는이 구성이 생성 된 이후의 것일 것이라고 생각되는 자바 클래스 중 하나에 의해 읽혀질 것입니다. 기본적으로 애플리케이션이 처음 시작될 때 리소스 위치를 알지 못한다고 가정합니다 런타임 중에 발견 할 것입니다. 그럼 당신의 접근 방식은 효과가 있습니까? – Pepria