SpringからSpring Bootへの移行


SpringからSpring Bootへの移行
Spring Bootは私たちの開発に一連の便利さを提供しているので、古いSpringプロジェクトを新しいSpring Bootプロジェクトに変換したいかもしれません.この文章では、どのように操作するかを検討します.
Spring BootはSpringに取って代わるものではなく、自動的に構成されたものを追加しただけで、Springプログラムをより速くすることができます.
Spring Boot startersの追加
Spring Bootを追加するには、Spring Boot Startersを追加するのが一番簡単です.

        org.springframework.boot
        spring-boot-starter-parent
        2.2.2.RELEASE
         
    

アプリケーション・エントリの追加
Spring Bootプログラムごとにアプリケーション・エントリが必要です.通常は@SpringBootApplication注釈を使用したmainプログラムです.
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

@SpringBootApplication注記は、次の注記の組合せです.
@Configuration ,@EnableAutoConfiguration,@ComponentScan .
@SpringBootApplicationは、デフォルトでこのパッケージとサブパッケージのすべてのクラスをスキャンします.一般的にSpringBootApplicationは最上位パッケージの下に置かれます.
Import ConfigurationとComponents
Spring Bootでは通常自動構成が使用されますが、既存のjava構成やxml構成を手動でImportすることもできます.
既存の構成では、2つのオプションがあります.1つは、これらの構成をプライマリアプリケーションの同じレベルのパッケージまたはサブパッケージの下に移動し、自動スキャンを容易にすることです.2つ目は明示的なインポートです.
インポートの表示方法を見てみましょう.
@SpringBootApplication
@ComponentScan(basePackages="com.flydean.config")
@Import(UserRepository.class)
public class Application {
    //...
}

xmlファイルの場合は、@ImportResourceを使用してインポートすることもできます.
@SpringBootApplication
@ImportResource("applicationContext.xml")
public class Application {
    //...
}

アプリケーションリソースの移行
Spring Bootは、デフォルトで次のリソースアドレスを検索します.
/resources
/public
/static
/META-INF/resources

移行するには、既存のリソースを控訴のリソースアドレスに移行するか、次の方法を使用します.
spring.resources.static-locations=classpath:/images/,classpath:/jsp/

アプリケーション・プロパティ・ファイルの移行
Spring Bootは次のような場所でアプリケーションを探します.propertiesまたはapplication.ymlファイル:
*     
*      /config   
*  classpath  /config  
* classpath root

プロパティファイルを上記のパスの下に移動できます.
Spring Webプログラムの移行
Spring Webプログラムを移行するには、次の手順に従います.
  • spring-boot-starter-web依存を追加:
  • 
        org.springframework.boot
        spring-boot-starter-web
    

    Spring Bootの自動構成により、classpathの依存パッケージが自動的に検出され、@EnableWebMvcが自動的に開き、DispatcherServiceletが作成されます.
    @Configurationクラスで@EnableWebMvc注記を使用すると、自動構成は無効になります.
    この自動構成は、次の3つのbeanを同時に自動的に構成します.
  • HttpMessageConverterはJSONとXMLを変換するために使用されます.
  • /error mappingは、すべてのエラーを処理するために使用される
  • /static,/public,/resourcesまたは/META-INF/resourcesの静的リソースサポート.
  • ビューテンプレート
  • の構成
    Webページの場合、通常はJSPではなく、Thymeleaf、Groovy、FreeMarker、Mustacheの代わりに様々なテンプレート技術を使用します.私たちがしなければならないのは、次の依存を追加することです.
    
        org.springframework.boot
        spring-boot-starter-thymeleaf
    

    templateファイルは/resources/templatesの下にあります.
    まだJSPを使用する必要がある場合は、次のような構成を表示する必要があります.
    spring.mvc.view.prefix=/WEB-INF/views/
    spring.mvc.view.suffix=.jsp

    チュートリアルの詳細については、flydeanのブログを参照してください.