Chapter 19

Applicationクラス

kazpgm
kazpgm
2021.12.20に更新

■アプリケーション(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