makoto_blog

パパさん_blog

プログラミング勉強メモや雑記など。

Spring Boot で Ajax 通信

Spring Boot , Ajax 通信 の勉強のためメモアプリを作成しています。

 

動作は以下の動画をご参照ください。

https://mhaya18.github.io/mypagegif

 

ソースはこちらです。

github.com

 

このアプリの内容

  1. タイトルと内容を書いてページに追加できる
  2. 候補文章自動生成のWebAPIを使って、入力した文章の続きを候補から選べる
  3. ページで検索
  4. json中身確認

2、3、4でAjax通信を使用しています。

 

設定関係ですが、 build.gradleはこのように書きました。

buildscript {
ext {
springBootVersion = '2.0.3.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}

apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'war'

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
mavenCentral()
}

configurations {
providedRuntime
}

dependencies {
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-thymeleaf')
compile('org.springframework.boot:spring-boot-starter-web')
runtime('com.h2database:h2')
providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')
testCompile('org.springframework.boot:spring-boot-starter-test')
}

 

感想

Ajax通信の部分ではなく、Spring Boot でJavaを書くところに右往左往しました。

 

自分の理解不足を露呈するために認識をメモします。

 

html
 →フロント部分

js
 →フロントの動き、Ajaxなどを書く

Page.java
 →エンティティ

PageForm.java
 →画面上の入力値を保持?

PageRepository.java
 →クエリ?

PageController.java
 →URLマッピング、サービスクラスのメソッドを呼ぶ

PageService.java
 →レポジトリのクエリを呼んでる

 

疑問

・各クラスの役割を通り理解しきれていない。

・create table してないのにどうしてるんだろ? 今後、H2ではなくPostgreSQLを使いたいのでSpring徹底入門を読んで勉強しよう。

 

今後やりたいこと

  • H2からPostgreSQLにし永続化
  • 入力チェックを強化
  • 検索機能を強化
  • Herokuへ