0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Spring サマリー

Last updated at Posted at 2023-09-30

https://www.inflearn.com/users/74366/@yhから習った内容を整理しています。
まだ作成中で、個人の勉強に合わせてその都度内容を追加しています。

Spring

  1. Spring
  2. Springのヒストリー

SpringFramework

1. 多形性を極大化して利用できるように支援する。

  • Javaの長所にもすでに多様性がありましたが、SOLID、良いオブジェクト指向設計の5つの原則をすべて満たすことはできなかった。
  1. 最初はAppConfigという別の設定クラスを作り、外部で実装オブジェクトを生成して接続する責任を持つようにした。

    このように外部からプログラムの制御の流れを管理することをIOC 、制御の逆転といい、外部から実装オブジェクトを生成し、アプリケーション実行時点(ランタイム)にクライアントに接続することをDI、依存関係注入という。
    そしてAppConfigのようにオブジェクトを生成して管理しながら依存関係を連結することをIoCコンテナ、またはDIコンテナという。 (アセンブラ、オブジェクトファクトリーなどと呼ばれることもある。)

    • 短所:開発者がAppConfigを使って直接オブジェクトを生成し依存性を注入しなければならず、Singletonを具現するためには繰り返されるソースを作成しなければならないという問題点があった。(+ Singleton作成時の注意点)
  2. そしてSpring Containerを使うようになり、最近はAnnotationベースのJava設定クラスを使ってSpring ContainerにSpring Beanを登録する方法を主に使うが、手動登録方法(@Bean)自動登録方法(@Component、@Autowired)がある。

    • ちなみに @Autowired は自動登録で必須であるだけで、手動と自動登録の両方で使用する。)
    • 業務ロジック1はある程度類似したパターン(Controller、Service、Repositoryなど)があり、自動登録することを推奨し、技術支援ロジック2は手動登録して明確に示すことが良い。
    • SpringContainerを使った Singleton先にあったSingletonに関する問題を解決してくれた。

2. Spring MVC(Model View Controller)アーキテクチャを提供する。

  1. 業務ロジック : 通常、ビジネス要件を開発する際に追加または変動する内容である。

  2. 技術支援ロジック : 業務ロジックを支援するための下部技術や共通技術である。 データベース接続のような技術的な問題や共通ログ処理のような共通関心事(AOP)を処理する際に主に使われる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?