Spring徹底入門13.2 つまづき
RESTful Webサービスを作成する。
・RESTful Webサービスが起動しない。
MessageクラスとMessagesControllerクラスをcom.examle配下に作成し、DemoApplicationクラスを実行。が、localhostに何も変化なし。HelloWorldのまま。。。これでいいのか?次ページ13.2.2の図を見ると、まだブラウザ上の表示がHelloWorldのままなのでひとまずこれでよしとする。
・HelloControllerがhtmlを自動生成しない
教科書ではHelloControllerなるクラスを新規に作成して、コードを書き、DemoApplicationで呼び出すことでhtmlが自動生成される~と説明しているが、そのようなhtmlが作成された形跡もなく、またlocalhostの表示もなんら変更がない。ずっとDemoApplicationしか動作しておらず、その他のクラスが関連して呼び出されていない様子。
ここら辺でSpringについてWebでお勉強を再開。(教科書は、成功すること前提に書かれているから、落ちこぼれたときに置いてきぼりになりますよね。)
春だから!Javaでの開発にSpring Bootを使おう!
記事によると→Spring BootではXMLは書かず、Javaのコードにアノテーションを書くだけで、全て自動的に行われます。
(やっぱ自動生成!いや、"html"は自動生成ではないぞ・・・)
記事によると→作成されたプロジェクトを右クリックして、「Run As」から「Maven install」を選びます。これで、必要なものがインストールされ、ビルドされます。
(ん?これは気になるぞ。。。Mavenインストールはしてなかったけど効果ありそう)
Mavenプロジェクトで Spring MVC の Hello World を作成する方法: ある SE のつぶやき
他で一つプロジェクトを作って学習し、それからDemoに戻ったほうが解決策を思いつくかもしれないと考えた。上記のサイトで修行することに。
Dependencesの設定のところで、検索窓に入力しても何の音沙汰もない。stackoverflowというところで解決策を発見。
"window→preferences→mavenとすすみ、download~となっているところ全てにチェック。その後Applyを押してOKを押して、STS再起動。"
再起動すると、mavenのindexの更新がかかる。再度入力。何も起こらない。
再度Google先生で検索。するとまたもstackoverflowに該当記事が。
You also need to rebuild your maven repository index in 'maven repository view'.
maven repo viewを探すのが面倒だったので、作成したmaven プロジェクトを削除して新たに作成しなおすことにした。無事indexが動き始める。
(追記:STS画面右上の小さな検索窓にmavenと入れるとmaven repoらしきものがあるのでそれを選択。すると、local,global,project,customのprojectが現れるので、globalを開き、centralの上で右クリックして、full-index-enabledにチェック。updateが始まるので完了するまで待ち、その後再びcentral上で右クリックをしてrebuild indexを選択。)
JDK1.8を使用するようにpom.xmlに以下を追記。
==================================
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>←これが最後のタグになるようにコピペ!
プロジェクト上で右クリックして、Maven > Update Project(alt+f5)で更新完了。
===================================
コントローラーとビューの作成の手前まで進めた。
これまでの操作でDemoがなぜ動かなかったか、理由を2つほど思いつく。
1dependencesのダウンロードをしていなかった?
2以下の依存関係を追記します、となっていたが、dependencesタブに書き込むだけでpom.xmlには何も記述しなかった。これが不具合の原因か?