■アプリケーション(Application)クラス
com.kaz01u.demo.DemoSpringKaz01uApplication.java
・このクラスを右クリック->実行->Spring Bootアプリケーションを選択するとアプリが起動します。
・SpringBootServletInitializerを継承し、@SpringBootApplication アノテーションを付与して、設定クラスを認識させるため、configureメソッドをオーバーライドしています。→1
・mainメソッドにて、自分のクラスのSpringApplicationインスタンスを作って、runすることになります。→2
■com.kaz01u.demo.DemoSpringKaz01uApplication.java アプリケーションクラス
package com.kaz01u.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@SpringBootApplication
public class DemoSpringKaz01uApplication extends SpringBootServletInitializer
implements WebMvcConfigurer
{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoSpringKaz01uApplication .class); //←1
}
/**
* メイン処理
* メイン処理を行う
* @param args
*/
public static void main(String[] args) {
SpringApplication.run(DemoSpringKaz01uApplication.class, args); //←2
}
・アップロードファイルを保存する場所の確保
addResourceHandlersメソッドで、アップロードファイルを保存する場所の
確保を行う。→3
■com.kaz01u.demo.DemoSpringKaz01uApplication.java アプリケーションクラスの続き
/**
* リソースハンドラ設定
* リソースハンドラを設定する
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//ファイルアップロード先を定義する。
registry
.addResourceHandler("/upload/**") //←3
.addResourceLocations("file:///C:/sts/workspace/demo-spring-kaz01u/upload/");
} //←3
}
・addResourceHandler("/upload/**")により、「/upload/」以下のパスがリクエストされたら、→4
■http://localhost:8080/members/admin/item/item URL指定
<tr>
<th width="18%" nowrap colspan=2>画像</th>
<td> <img src="/upload/item/A2111300006/item27.png?211216174125"> </td><!-- ←4 -->
</tr>
<tr>
<th width="18%" nowrap colspan=2>ファイル</th>
<td> <a target="_blank" rel="noopener noreferrer"
href="/upload/item/A2111300006/item28.txt?211216174125">item28.txt</a> </td> <!-- ←4-->
</tr>
addResourceLocations("file:///C:/sts/workspace/demo-spring-kaz01u/upload/")により、file:///C:/sts/workspace/demo-spring-kaz01u/upload/にある→5
対応ファイルを使用する、という設定。
ということで、画面に画像、ファイルが表示される。→6