「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
OAuth2、OIDCのID Federation(連携)コードを書くために、
- Javaの開発環境を構築して
- Spring MVCをチョロっと書いてみる。
ASP.NET MVCが解っていれば、それほど難しくないと思う。
開発環境の構築 †
- イントラ・プロシキ環境下で無い。
- 32bitと64bitがあるので揃えること。
JDK †
2018年9月よりOracke Javaは有償となったため、
同等の機能を持つAdopt Open JDKをインストール
STS(Spring Tool Suite) †
- この手順では、Eclipseの[Menu]の[Help] -> [Eclipse MarketPlace?]からインストールする。
- 表示されたダイアログのFindに「STS」と入力し、STS(Spring Tool Suite)を表示する。
- Installボタンを押下してインストールする。
- すべての機能をインストールする。
- ライセンス条項に同意する。
- 最後にEclipseを再起動する。
- なお、起動後に、推奨されるビュー(Perspective)を、[Menu]の[Window]から、
- [Perspective] -> [Open Perspective] -> [Java]
- [Perspective] -> [Open Perspective] -> [Other...] -> [Spring]
と、選択すると使用し易い。
プロジェクトの開発 †
プロジェクトの作成 †
- Eclipseの[Menu]の[File] -> [New] -> [Project]を選択する。
- 表示されたdialogで[Spring Boot] -> [Spring Starter Project]を選択し[Next]を押下する。
- NameとPackageを適当にリネーム(demoらかtest1などに変更する)し[Next]を押下する。
- 必要な依存関係を追加(Web、Securityを追加)し[Finish]を押下する。
- Project Explorerに移動してapplication.propertiesの設定を行う。
プロジェクトの実行 †
- Project Explorerでプロジェクトを選択した状態で、
- [Menu]の[Run] -> [Run as] -> [Spring Boot App]を選択する。
- プロジェクトが起動したら、http://localhost:8090/にアクセスする。
- 基本認証を要求されたら、hoge:hogeを入力する。
- 以下の画面(404)が返ったら、ひとまず、プロジェクトは実行できたことになる。
プロジェクトの実装 †
テンプレート・エンジンの参照を追加する。 †
- なお、parentにdefaultバージョンの設定がない場合は、
dependencyの中に、versionを設定する必要がある。
コントローラーを作成する。 †
- Project ExplorerでApp.java(Test1Application.java)を右クリックし、
- [New] -> [Class]を選択し、表示されたdialogの[Name]に「HeloController?」と入力し[Finish]を押下する。
- HeloController?クラスが生成されるので以下のように修正する。
- @Controllerというアノテーションを付与する。
- indexメソッドを定義して、
- RequestMapping?アノテーションを追加してRoutingを設定する。
- @PathVariable?、@RequestParam?で、Requestと引数とのBindingを定義する。
- ビューに対する引数になるModelAndView?を定義する(outパラメタ)。
package com.example.test1;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class HeloController {
@RequestMapping(value="/", method=RequestMethod.GET)
public ModelAndView index(ModelAndView mav) {
mav.setViewName("index");
mav.addObject("msg","お名前を書いて送信してください。");
return mav;
}
@RequestMapping(value="/", method=RequestMethod.POST)
public ModelAndView send(@RequestParam("text1")String str, ModelAndView mav) {
mav.addObject("msg","こんにちは、" + str + "さん!");
mav.addObject("value",str);
mav.setViewName("index");
return mav;
}
}
テンプレート(ビュー的なモノ)を作成する。 †
Spring MVCを実行する。 †
実行 †
- Project Explorerでプロジェクトを選択した状態で、[Menu]の[Run]を選択する。
(二回目以降は[Run As]ではなく[Run]を押下する。)
- プロジェクトが起動したら、「http://localhost:8090/」にアクセスする。
- 以下の画面が返ったら、Spring MVCは実行できたことになる。
Debug実行 †
Debug実行をする場合は、
- 必要に応じてブレークポイントを設定した後、
- [Menu]の[Debug]を押下してDebug実行を開始する。
その他のトピック †
名前空間の追加 †
- 赤波線が表示された場合、赤波線にフォーカスしてimportが表示されたらそれを選択。
- 名前空間をインポートできない場合はpom.xmlに依存関係を追加する。
- groupId(必須)
- artifactId(必須)
- version(推奨バージョンがない場合に必須)
例外 †
・・・ †
参考 †
Java 開発者のための C# プログラミング言語 †
https://msdn.microsoft.com/ja-jp/library/ms228602.aspx
概要 †
https://msdn.microsoft.com/ja-jp/library/ms228361.aspx
ソース ファイルの名前付け規則 †
https://msdn.microsoft.com/ja-jp/library/ms228500.aspx
データ型 †
https://msdn.microsoft.com/ja-jp/library/ms228360.aspx
演算子 †
https://msdn.microsoft.com/ja-jp/library/ms228601.aspx
配列 †
https://msdn.microsoft.com/ja-jp/library/ms228389.aspx
構造体 †
https://msdn.microsoft.com/ja-jp/library/ms228600.aspx
例外 †
https://msdn.microsoft.com/ja-jp/library/ms228505.aspx
フロー制御 †
https://msdn.microsoft.com/ja-jp/library/ms228393.aspx
ループ ステートメント †
https://msdn.microsoft.com/ja-jp/library/ms228598.aspx
Main () およびその他のメソッド †
https://msdn.microsoft.com/ja-jp/library/ms228506.aspx
不特定の数のパラメータの使用 †
https://msdn.microsoft.com/ja-jp/library/ms228391.aspx
クラスの基本事項 †
https://msdn.microsoft.com/ja-jp/library/ms228632.aspx
プロパティ †
https://msdn.microsoft.com/ja-jp/library/ms228386.aspx
継承と派生クラス †
https://msdn.microsoft.com/ja-jp/library/ms228387.aspx
イベント †
https://msdn.microsoft.com/ja-jp/library/ms228499.aspx
演算子のオーバーロード †
https://msdn.microsoft.com/ja-jp/library/ms228498.aspx
C# の高度な手法 †
https://msdn.microsoft.com/ja-jp/library/ms228395.aspx
ガベージ コレクション †
https://msdn.microsoft.com/ja-jp/library/ms228629.aspx
安全なコードと安全でないコード †
https://msdn.microsoft.com/ja-jp/library/ms228628.aspx