1. 程式人生 > >springboot載入專案內外靜態資源

springboot載入專案內外靜態資源

1、pom中加入springboot訪問靜態資源的jar包

springboot預設專案靜態資源的位置是專案下的 /static、/public、/META-INF/resources、/resources這幾個目錄

當專案整合freemarker時,模板必須放到src/main/resources/templates目錄下。模板副檔名必須為ftl。

2、需要繼承WebMvcConfigurerAdapter重寫addResourceHandlers方法,並將該類打上@Configuration註解

@Configuration
public class ApplicationConfig  extends WebMvcConfigurerAdapter{

    @Value("${static.wavpath}")
    private String filepath;
    
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/staticwav/**").addResourceLocations("file:///F:noms/static/wav/");
        super.addResourceHandlers(registry);
    }
}

 

這裡需要注意的是:有的file:///F: 這裡是三條線,我看其他部落格都是兩條線。資料夾後還有/

3、springboot載入類需要匯入配置類

@SpringBootApplication
@Import(ApplicationConfig.class)
public class Application{

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

4、F:noms/static/wav/資料夾裡的返回方式

該圖片在磁碟上的位置是F:noms/static/wav/bbb.jpg  返回給頁面的路徑為staticwav/bbb.jpg。配置類中將F:noms/static/wav/下的資源對映到staticwav/下,所以直接返回staticwav/bbb.jpg,頁面可以直接載入該靜態資源。

這樣就能載入磁碟上的靜態資源了。

5、訪問專案內的靜態資源,不是springboot預設的資料夾時需要以下配置

訪問的時候需要在路徑前面加上在addResourceHandler中配置的字首。

 訪問路徑為localhost:18888/aa/aa.jpg