スプリングチュートリアル – スプリングコアフレームワークチュートリアル

春は最も広く使用されているJava EEフレームワークの一つです。私はSpringチュートリアルに多くを書いており、これはすべての記事を順番に確認するための索引として機能する要約記事です。

春のチュートリアル

すべてのスプリングチュートリアルには、チュートリアルページからダウンロードできるサンプルプロジェクトが付属しています。

スプリングコアチュートリアル

Spring Frameworkは2つのデザイン原則に基づいています – 依存性注入とアスペクト指向プログラミング。以下のチュートリアルを参照して、実装例と共にSpringの基本的な概念を学んでください。
「Spring Frameworkは、依存性注入とアスペクト指向プログラミングという2つのデザイン原則に基づいています。以下のチュートリアルを参照し、実装例を通じてSpringのコアコンセプトを学んでください。」

    1. Spring Framework A brief look at the evolution of the Spring Framework, its architecture, core components, and principles that guides the development of this amazing framework.

 

    1. Dependency Injection Java Example This post provides the basics of Dependency Injection and how we can implement DI pattern in simple java applications. It’s a good point to start with and then move to Spring Dependency Injection.

 

    1. Spring Dependency Injection This tutorial is aimed to provide dependency injection example in Spring framework with both annotation based configuration and XML based configuration. The tutorial also include JUnit test program to validate the implementation.

 

    1. Spring AOP Example This tutorial explains core concepts of Aspect-Oriented Programming such as Aspect, Advice, Pointcut, Joinpoint, AOP Proxy and Weaving. The tutorial explains about different types of Advice with simple program.

 

    1. Spring AOP Method Profiling

 

    1. Spring IoC Container and Spring Bean Example Tutorial This tutorial is aimed to explain the core concepts of Spring IoC container and Spring Bean with example programs. The tutorial explains about IoC Container and it’s core classes and different ways to create ApplicationContext. The tutorial also explains about Spring Bean, Spring Bean scopes, different ways to configure spring bean – XML, annotation, java-based through an example project.

 

    1. Spring Bean Scopes Spring Bean Scopes allows us to have more granular control of the bean instances creation.

 

    1. Spring Bean Autowiring Example Spring IoC container is smart to figure out the bean for injecting dependencies through “spring autowire” attribute. This tutorial explains about different types of auto wiring with an example project.

 

    1. Spring Bean Life Cycle Spring Beans are the most important part of any Spring application. Spring ApplicationContext is responsible to initialize the Spring Beans defined in spring bean configuration file. This tutorial explains about different ways through which we can provide post-initialization and pre-destroy methods in a spring bean – InitializingBean/DisposableBean interfaces or init-method/destroy-method attributes. Spring framework also support @PostConstruct and @PreDestroy annotations for defining post-init and pre-destroy methods. These annotations are part of javax.annotation package. You will also learn about Spring Aware interfaces that you can use to inject Servlet API objects into the spring bean.

 

    1. Spring 5 Spring 5 was released in late 2017. Spring 5 brings a massive update to the Spring framework.

 

    1. Spring WebFlux Spring WebFlux is the new module introduced in Spring 5. Spring WebFlux is the first step towards the reactive programming model in spring framework.

 

    Spring Data JPA Spring Data JPA is part of the Spring Data family. Spring Data makes it easier to create Spring driven applications that use new ways to access data, such as non-relational databases, map-reduction frameworks, cloud services, as well as well-advanced relational database support.

春のアノテーション

    1. 「Springのアノテーション – Springフレームワークで最も重要なアノテーションについての簡単な説明」

 

    1. Spring @Bean – Spring @Beanアノテーションは、Springコンテキストによって管理されるBeanを返すことを指定するためにメソッドに適用されるアノテーションです。Spring Beanアノテーションは通常、設定クラスのメソッドで宣言されます。

 

    1. Spring @Service – Spring @Serviceアノテーションは、@Componentアノテーションの特殊化です。Spring Serviceアノテーションはクラスにのみ適用することができ、クラスをサービスプロバイダとしてマークするために使用されます。

 

    1. Spring @Component – Spring Componentアノテーションはクラスをコンポーネントとして示すために使用されます。コンポーネントベースの設定とクラスパスのスキャンが使用される場合、Springフレームワークはこれらのクラスを依存性注入のために自動検出します。

 

    1. Spring @RestController – Spring RestControllerアノテーションは、@Controllerと@ResponseBodyとしてアノテートされた便利なアノテーションです。このアノテーションは、リクエストハンドラとしてクラスをマークするために適用されます。

 

    1. Spring @Controller – Spring Controllerアノテーションは@Componentアノテーションの特殊化です。Spring Controllerアノテーションは通常、RequestMappingアノテーションに基づくアノテートされたハンドラメソッドとの組み合わせで使用されます。

 

    1. Spring @Repository – Spring @Repositoryアノテーションは、クラスがオブジェクトに対する格納、検索、更新、削除操作のメカニズムを提供することを示すために使用されます。

 

    1. Spring @Configuration – Spring @Configurationアノテーションは、Springのコアフレームワークの一部です。Spring Configurationアノテーションは、クラスが@Bean定義メソッドを持つことを示します。したがって、Springコンテナはこのクラスを処理し、アプリケーションで使用されるSpring Beansを生成できます。

 

    1. Spring @Value – Spring @Valueアノテーションは、変数とメソッド引数にデフォルト値を割り当てるために使用されます。@Valueアノテーションを使用してSpring環境変数およびシステム変数を読み取ることもできます。

 

    1. Spring @PropertySource – Spring @PropertySourceアノテーションは、プロパティファイルをSpring環境に提供するために使用されます。このアノテーションは@Configurationクラスと一緒に使用されます。

 

    1. Spring @PostConstructと@PreDestroy – Spring Beanのメソッドに@PostConstructアノテーションを付けると、Spring Beanが初期化された後に実行されます。Spring BeanのメソッドにPreDestroyアノテーションを付けると、コンテキストからBeanインスタンスが削除される際に呼び出されます。

 

    Spring @Async – Spring @Asyncアノテーションを使用すると、Springで非同期メソッドを作成することができます。このSpringフレームワークのチュートリアルでは、@Asyncについて詳しく説明します。

スプリングブートのチュートリアル

    1. スプリングブートチュートリアル

 

    1. スプリングブートのコンポーネント

 

    1. スプリングブートの@SpringBootApplication、SpringApplicationクラス

 

    1. スプリングブートの@SpringBootApplication注釈は、1つ以上の@Beanメソッドを宣言し、自動構成とコンポーネントスキャンをトリガーする設定クラスにマークを付けるために使用されます。スプリングブートのSpringApplicationクラスは、JavaのmainメソッドからSpringアプリケーションをブートストラップして起動するために使用されます。

 

    1. スプリングブートのREST

 

    1. このチュートリアルでは、スプリングブートモジュールを使用してRESTウェブサービスを作成する方法について説明します。

 

    1. スプリングブートのMongoDB

 

    1. スプリングブートアプリケーションでMongoDBを使用する方法について学びます。

 

    1. スプリングブートのRedisキャッシュ

 

    1. この記事では、Redisキャッシュをスプリングブートアプリケーションに統合する方法について説明します。

 

    1. スプリングブートのElasticsearch

 

    1. この記事では、Elasticsearchをスプリングブートアプリケーションに統合する方法について説明します。

 

    1. スプリングブートのアクチュエータエンドポイント

 

    1. スプリングブートのアクチュエータエンドポイントを使用すると、アプリケーションをモニタリングおよび操作することができます。スプリングアクチュエータは、スプリングブートのサブモジュールであり、アプリケーションのために有効化および無効化できる組み込みのエンドポイントを提供します。

 

    1. スプリングブートのInitializrウェブインターフェース

 

    1. スプリングブートのCLIの例

 

    1. スプリングブート – 埋め込みデータベースのドライバークラスを決定できません

 

    スプリングブートの面接の質問

「Spring MVC チュートリアル」

    1. 初心者向けのSpring MVCチュートリアルです。Spring Tool Suiteを使ってJavaベースのWebアプリケーションを作成する方法を学びます。

 

    1. Spring MVCの例です。このチュートリアルでは、Spring Tool Suiteを使用せずに、MavenとEclipse IDEを使ってSpring MVCアプリケーションを作成する方法を説明します。

 

    1. JSONを使用したSpringのRESTful Webサービスの例です。Spring Frameworkは、Jackson JSON APIに組み込みのサポートを提供しており、それを利用してJSONレスポンスを返すRESTful Webサービスを作成することができます。このチュートリアルでは、JSONレスポンスを返すためにアプリケーションの設定に必要な異なる部分を説明し、REST APIを実装する方法を説明します。

 

    1. SpringのRESTでは、XMLとJSONの両方の要求-応答メッセージをサポートしています。このチュートリアルでは、簡単な設定を使用して両方のメッセージをサポートする方法を説明します。

 

    1. Spring RestTemplateです。Spring RestTemplateは、RESTful Webサービスをテストするための便利な方法を提供しています。RestTemplateを使用して、HTTPベースのRESTful Webサービスをテストすることができますが、HTTPSプロトコルはサポートしていません。

 

    1. ファイルのアップロードはWebアプリケーションの一般的なタスクの1つですので、SpringはApache Commons FileUpload APIを統合してファイルのアップロードをサポートしています。このチュートリアルでは、さまざまなコンポーネントがどのように構成されているかを説明し、単一ファイルと複数ファイルのアップロードの例を示します。

 

    1. グローバルな利用者を持つWebアプリケーションでは、国際化(i18n)やローカライゼーション(L10n)は非常に重要です。ほとんどのWebアプリケーションフレームワークは、ユーザのロケール設定に基づいてアプリケーションをローカライズするための簡単な方法を提供しています。Springも同様であり、Springインターセプタ、ロケールリゾルバ、リソースバンドルを使用して国際化(i18n)をサポートするための包括的なサポートを提供しています。このチュートリアルでは、Spring Webアプリケーションの国際化(i18n)とローカライゼーション(L10n)のプロセスを、例のプロジェクトを通じて説明します。

 

    1. ユーザからの入力を受け付ける場合、その入力を検証する必要があります。クライアント側でJavaScriptを使用してユーザの入力をバリデートすることはできますが、JavaScriptが無効になっている場合も、サーバ側で入力を検証する必要があります。Spring MVCフレームワークは、デフォルトでJSR-303仕様をサポートしており、Spring MVCアプリケーションでJSR-303とその実装依存関係を追加するだけで検証を行うことができます。Springは、@ValidatorアノテーションとBindingResultクラスも提供しており、コントローラのリクエストハンドラメソッドでValidator実装によって発生したエラーを取得することができます。このチュートリアルでは、注釈を使用したフォームの検証例と独自のカスタムバリデータの作成プロセスも説明しています。

 

    1. どのような例外も処理し、コンテナが生成したページを提供したくない場合、適切な例外処理のための良好な設計が必要です。Spring MVCフレームワークは、Controllerクラス、グローバルな例外ハンドラ、HandlerExceptionResolverの実装を通じて、堅牢な例外処理のアプローチを提供しています。Spring MVCの例外処理については、チュートリアルの例プロジェクトを参照してさらに詳しく学ぶことができます。

 

    1. HTTPリクエストをインターセプトしてからコントローラのハンドラメソッドに渡す前に、何らかの処理を行いたい場合があります。そのような場合には、Spring MVCのインターセプタが便利です。Springでは、org.springframework.web.servlet.HandlerInterceptorインターフェースを実装するか、このインターフェースの基本実装を提供するorg.springframework.web.servlet.handler.HandlerInterceptorAdapterの抽象クラスをオーバーライドすることで、独自のインターセプタを作成することができます。Spring MVCインターセプタについては、チュートリアルの例プロジェクトを参照してさらに詳しく学ぶことができます。

 

    1. @RequestMappingは、最も広く使用されるSpring MVCアノテーションの1つです。org.springframework.web.bind.annotation.RequestMappingアノテーションは、webリクエストを特定のハンドラクラスやメソッドにマッピングするために使用されます。@RequestMappingはコントローラクラスだけでなくメソッドにも適用されることがあります。このチュートリアルでは、さまざまな使用例とテストプログラムについて説明します。

 

    1. Spring Sessionモジュールは、ウェブアプリケーションでユーザのセッションを管理するためのAPIと実装を提供します。Spring Sessionはセッション管理ロジックをアプリケーションから切り離しており、より耐障害性を高めています。Spring Sessionには、Spring Session Core、Spring Session JDBC、Spring Session Data Redis、Spring Session Hazelcastのモジュールが含まれています。

 

    Spring MVCとGradleの例です。

春のバッチのチュートリアル

    1. Spring Batchは、バッチを作成することで簡単に大量のレコードを処理することができます。この記事では、Spring Batchの概要、アーキテクチャ、Spring Batchアプリケーションの使用時期について説明しています。

 

    Spring Batchの例 このチュートリアルでは、大きなCSVファイルを処理するSpring Batchプロジェクトの作成方法について説明しています。

春の JDBC チュートリアル

ほとんどのエンタープライズアプリケーションはリレーショナルデータベースを扱います。そのため、SpringはJDBC APIの豊富なサポートを提供し、またデータベースのCRUD操作を行うためのラッパーも提供しています。

    1. Spring JDBCとDataSourceのJdbcTemplateを使用したCRUDの例。

 

    1. Springフレームワークは、JDBC APIとの優れた統合を提供し、JdbcTemplateユーティリティクラスを提供しています。これを使用することで、データベース操作ロジックでのコネクションのオープン/クローズ、ResultSet、PreparedStatementなどのボイラープレートコードを回避することができます。このチュートリアルでは、Spring JDBCの統合を使用してCRUD操作の例を提供します。

 

    1. Tomcatを使用したSpring DataSource JNDIの例。また、JNDIを使用したDataSourceは、コネクションプーリングのための推奨される方法であり、コンテナの実装の利点を得ることができます。このチュートリアルでは、tomcatコンテナに定義されたDataSourceをJNDIリソースとして使用してデータベース接続を取得し、さまざまな操作を実行する方法を説明します。データベース接続を取得するためのSpringウェブアプリケーションでの推奨される方法は、コンテナがデータベースリソースの管理を担当するためです。

 

    1. JDBCトランザクション管理の例。トランザクション管理は、エンタープライズアプリケーションにおいて重要なタスクです。Springはトランザクション管理に対して幅広いサポートを提供し、データの整合性を心配することなく開発者がビジネスロジックにより集中できるようサポートしています。Springの宣言的トランザクション管理は、トランザクション管理のための推奨されるアプローチです。非常に使いやすく、直接の依存関係はありません。AOPと依存性注入を使用します。

 

    Spring JdbcTemplate。SpringのJDBCモジュールの中核であり、SQLクエリの実行、結果セットのデータの読み取りなど、さまざまなメソッドを提供しています。

スプリングハイバネイトのチュートリアル

スプリングは、Java EEの最も広く利用されているフレームワークの一つであり、ヒバネートは市場で最も優れたORMフレームワークです。そのため、スプリングはSpring ORMモジュールでヒバネートに組み込みサポートを提供しています。

    1. Spring Hibernate 統合の例

 

    1. このチュートリアルでは、HibernateをSpringのスタンドアロンアプリケーションに統合するための完全な詳細と例を提供します。この例では、Spring 4 + Hibernate 4とSpring 4 + Hibernate 3の統合が示されています。

 

    1. Spring MVC Hibernate CRUD の例

 

    1. Spring MVCは、簡単にHibernateフレームワークと統合することができます。また、Springの宣言的トランザクション管理を利用することもできます。これにより、アプリケーションはボイラープレートコードから解放されます。

 

    1. Spring ORM の例

 

    Spring ORMとAOPトランザクション管理

Spring Securityチュートリアル

Spring SecurityはどんなJavaウェブアプリケーションにも適用でき、アプリケーションの独立したパートとして機能し、認証と認可に異なる方法を提供します。

    1. サーブレットWebアプリケーションにおけるSpring Securityについて、このチュートリアルでは基本的な内容を説明します。また、インメモリ、DAO、JDBCベースの認証に例プロジェクトを使用して説明します。

 

    1. Spring MVCフレームワークを使用している場合、Springベースの設定が既にあるため、Spring Securityを適用することは非常に簡単です。セキュリティに関連する設定をプラグインするだけです。

 

    1. Spring 4で導入されたSpring Securityモジュールについて説明します。

 

    1. Spring MVCアプリケーションにSpring Securityを使用する方法について説明します。

 

    Spring Securityによるロールベースのアクセス認証。

スプリング統合のチュートリアル

    1. Spring JSFの統合の例のチュートリアル。JSFはユーザーインターフェースに重点を置いたコンポーネントベースのフレームワークであり、一方、Springの主要な原則は依存性の注入です。このチュートリアルでは、JSFとSpringフレームワークを統合する方法について説明します。

 

    1. PrimeFaces Spring&Hibernateの統合の例のチュートリアル。PrimeFacesをSpringとHibernateフレームワークに統合する方法について説明しています。これは各フレームワークの最大限の活用を得るために非常によく使われる組み合わせです。

 

    PrimeFaces Hibernate SpringRooの統合の例。SpringRooはJavaベースのエンタープライズソフトウェアアプリケーションの開発をコマンドラインで行うための設定に基づいたオープンソースのソフトウェアツールです。このチュートリアルでは、SpringRoo、PrimeFaces、Hibernateフレームワークの統合について説明します。

スプリングメッセージング

    1. 春のAMQP

 

    1. 春のRabbitMQ

 

    1. 春のRabbitMQの例

 

    1. 春のActiveMQ パート1

 

    春のActiveMQ パート2

春のインタビューの質問

もしJava EEの面接に行く予定で、Springが必須ならば、この記事があなたの知識を迅速に復習するのに役立つことを願っています。今はこれがSpringのチュートリアルの全てです。Springフレームワークには多くのモジュールがあり、将来的にそれについて投稿していき、この記事に追加していく予定です。ですので、将来の参照のためにこの記事にブックマークをしておくことをお勧めします。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds