Docker起動・SpringBoot起動・DBへ接続
以前書いたDockerの起動方法について。
上の記事のまとめとプラスα。
dockerファイルへ移動。
cd spring-boot-jpa-sample cd infra/docker/
docker machineが動いてるか確認。
docker-machine ls
Runningになっていれば、動いている。
もしなっていなければ、
docker-machine start default
これから打つコマンドはdockerに対するものだと指示。
eval "$(docker-machine env default)"
管理下にある全コンテナをまとめて起動。
docker-compose start
停止するには、
docker-compose stop
2つ前のディレクトリに移動(今回だとspring-boot-jpa-sampleに移動)。
cd ../../
spring bootを起動。
mvn clean spring-boot:run
DBに接続。
docker run -it --link sample-db01:mysql --rm mariadb sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
インターフェイスについて
そもそもインターフェイスとは
インターフェイスとは、クラスの骨格だけを記述したもの・そのメソッドの宣言だけをまとめたもの。
インターフェイスを実装するときは、必ずそこにあるメソッドを実装しなくてはいけない。
継承とは異なり、implementsを使って実装する。
implementsでは、複数のクラスを指定することが出来る。
インターフェイスの定義
interface インターフェース名 { メソッド1(引数); メソッド2(引数); ... }
インターフェイスの実装
class クラス名 implements インターフェイス1, インターフェイス2, ... { メソッド1(引数) { 処理 } メソッド2(引数) { 処理 } ... }
MVCモデルとは
Model
View
Controller
の頭文字をとったもの。
Model
モデルは、システムの中でビジネスロジックを担当する、システムの本体部分。
モデルは入出力や表示といった処理を行うことはできない。
View
ビューは、表示・入出力といった画面に関する部分を担当。
Controller
コントローラは、ViewとModelを制御する部分。
コントローラでは表示を行ったり、ロジックの実行は行わず、
Viewからの入力に応じて、必要なロジックの実行をModelに依頼し、その結果表示をViewに依頼する。
MVCモデルの流れ
ユーザがリクエスト
Controllerが リクエストを受け取り、 Modelで処理するよう指示
また、Controlerは、Viewに表示するするよう指示
Modelでデータを処理する
Viewが、 Modelから処理した表示したいデータを参照して、 レスポンスを返す
Eclipseで消してしまったファイルの復元方法
消したファイルがあったフォルダを右クリック
Restore from Local Historyを選択
消したファイルが表示されるのでチェックしてRestore
3階層システム・ビジネスロジックとは
3階層システム
3階層システムとは、クライアントサーバシステムをプレゼンテーション層・アプリケーション層・データ層 の3層に分割して構築したシステム。
クライアントおよびサーバの処理を複数の階層に分離して配置することで、ある階層へ変更を加える必要が生じた際にも柔軟に対応できるようなっている。
3階層システムでは、システム全体をプレゼンテーション層(ユーザインターフェース)・アプリケーション層(ビジネスロジック)・データ層(データベース)の3階層に分け、クライアント側にはユーザインターフェース部分のみを残し、あとはサーバ側に実装する。
クライアントはユーザからの操作を受け付け、アプリケーション層からの処理結果を表示することのみを行う。
クライアントサーバーシステム
クライアントサーバシステムとは、コンピュータをサーバとクライアントに分け、役割分担をして運用する仕組みのこと。
クライアントはサーバに対して「このデータを送ってほしい」という要求をし、それに対してサーバは要求されたデータを送る、といったことを行う。
ビジネスロジック
ビジネスロジックとは、業務ソフトウェアの中で、具体的な業務で扱う様々な実体(商品、顧客、在庫など)を表現し、また、それらの関係や処理の方法、業務の流れなどをプログラムコードとして実装した部分。
アプリケーション固有の処理やルールを記述したもの。
3階層システムでは、プレゼンテーション層(ユーザインターフェース層)とデータアクセス層(データベース層)の中間に位置し、ビジネスロジック層あるいはアプリケーション層と呼ばれる。