Rod Johnsonによって作成されたhttp://www.springsource.org/[Spring framework]は、プロジェクトコンポーネントの依存関係を切り離すための非常に強力なIoC(Inversion of Control)フレームワークです。
この一連のチュートリアルでは、Springフレームワークの使い方についての多くのステップバイステップの説明と説明を提供しています。
春のクイックスタート
Springフレームワーク開発の基本を理解するためのクイックスタート。
-
link://spring/quick-start-maven-spring-example/[春のこんにちは世界
例]Maven Spring 2.5.6 hello worldの例です。
-
link://spring3/spring-3-hello-world-example/[Spring 3.0 hello world
例]Maven Spring 3.0 hello worldの例、新しいSpring 3.0開発に必要なもの。
-
link://spring/spring-loosely-coupled-example/[Spring loosely coupled
例]示す例は、Springがコンポーネントを疎結合にする方法を示しています。
Spring JavaConfig(Spring 3.0)
Spring 3.0ではJavaConfigがサポートされました。これで、アノテーションを使用してSpringで設定を行うことができます。
-
link://spring3/spring-3-javaconfig-example/[Spring 3 JavaConfig
例]@Configurationと@Beanを使用してSpringでBeanを定義する方法を説明する
** link://spring3/spring-3-javaconfig-import-example/[Spring 3 JavaConfig
@Importの例]@Importを使用してBeanをモジュラー形式で整理する方法を示します。
スプリング依存性注入(DI)
Springがオブジェクト依存関係を管理するための依存性注入(DI)を行う方法。
-
link://spring/spring-dependency-injection-di/[Spring依存関係
インジェクション(DI)]+セッター注入とコンストラクタインジェクションによる依存性注入(DI)デザインパターンの適用方法
-
link://spring/spring-di-via-setter-method/[Spring DI viaセッター
メソッド]セッターメソッドを介してBeanを依存性注入する。
依存関係はコンストラクタを介してBeanを挿入します。
-
link://spring/constructor-injection-type-ambiguities-in-spring/[コンストラクタ
Springにおける注入型のあいまいさ]コンストラクタ注入引数型のあいまい性の問題は、引数の多い複数のコンストラクタメソッドを含むBeanで常に発生します。
基本的な豆
Spring Iocコンテナで使用する必要があるすべてのクラスは、 “bean”とみなされ、Spring Beanの設定ファイルまたはアノテーションによって宣言されます。
-
link://spring/spring-bean-reference-example/[Spring beanリファレンス
例]+同じBean構成ファイルまたは別のBean構成ファイルにBean参照を指定することによって、Bean同士が互いにアクセスする方法。
-
link://spring/springで定義されるbean-how-to-define/[Inject value
SpringのBeanプロパティへ]+ Beanプロパティに値を注入する3つの方法。
-
link://spring/load-multiple-spring-bean-configuration-file/[Load
複数のSpring Bean構成ファイル]+開発者は常に異なるBean構成ファイルを別のモジュールフォルダに分類します。ここでは、複数のSpring Bean構成ファイルを読み込む方法を説明します。
-
link://spring/spring-inner-bean-examples/[Spring内部bean
例]+ある特定のプロパティに対してのみBeanが使用されるときは常に、それを内部Beanとして宣言することをお勧めします。
-
link://spring/spring-bean-scope-examples/[Spring beanスコープ
examples]Beanスコープは、Springコンテナから呼び出し元に戻されるBeanインスタンスのタイプを決定するために使用されます。
-
リンク://spring/spring-collections-list-set-map-and-properties-example/[Spring
コレクション(リスト、セット、マップ、およびプロパティ)例]値をコレクションタイプに入力する例(リスト、セット、マップ、およびプロパティ)。
-
link://spring/spring-listfactorybean-example/[ListFactoryBean
例]+具体的なListコレクションクラス(ArrayListとLinkedList)を作成し、Beanプロパティに挿入します。
具体的なSetコレクションクラス(HashSetとTreeSet)を作成し、Beanプロパティに挿入します。
具象マップコレクションクラス(HashMapとTreeMap)を作成し、それをBeanプロパティに挿入します。
-
link://bean/property-customdateeditor/spring/spring-how-to-be-to-bean-property-customdateeditor/[Spring
BeanプロパティにDateを挿入する – CustomDateEditor]通常、Springは日付変数を受け取ります。ここでは、CustomDateEditorを使用して回避するヒントを示します。
-
リンク://spring/spring-propertyplaceholderconfigurer-example/[Spring
PropertyPlaceholderConfigurer example]+デプロイメントの詳細をプロパティファイルに外部化し、特別な形式($ \ {variable})でBean設定ファイルからアクセスします。
-
link://spring/spring-bean-configuration-inheritance/[Spring bean
構成の継承]+継承は、Beanが共通の値、プロパティまたは構成を共有するのに非常に便利です。
-
link://spring/spring-properties-dependency-checking/[Spring依存関係
チェック]+ Springには4つの依存チェックモードがあり、必要なプロパティがBeanに設定されていることを確認します。
-
link://spring/spring-dependency-with-required-annotation/[Spring
@Required Annotationによる依存性チェック]+アノテーションモードでの依存性チェック。
-
link://spring/spring-define-custom-required-style-annotation/[カスタム
@ Required-style annotation]+ @Requiredアノテーションと同等の@カスタムスタイルのアノテーションを作成します。
-
link://spring/spring-initializingビーンとディスポーザブルビーンの例/[Bean
InitializingBeanとDisposableBeanの例]Beanの初期化と破棄時に特定のアクションを実行します。
(インタフェース)
** link://spring/spring-init-method-and-destroy-method-example/[Bean
initメソッドとdestroyメソッドの例]+
Beanの初期化と破棄時に特定のアクションを実行します。 (XML)
** link://spring/spring-postconstruct-and-predestroy-example/[Bean
@PostConstructと@PreDestroyの例]Beanの初期化と破棄時に特定のアクションを実行します。
(注釈)
Spring表現言語(Spring 3.0)
Spring 3.0では、Spring表現言語(Spring EL)と呼ばれる豊富で強力な表現言語の機能が導入されています。
-
link://spring3/spring-el-hello-world-example/[Spring EL hello world
例]Spring式言語(EL)を使用するクイックスタート。
-
link://spring3/spring-bean-reference-example/[Spring EL bean
参照例]+参照Bean、ドット(。)記号を使用したBeanプロパティ。
-
link://spring3/spring-el-method-invocation-example/[Spring ELメソッド
呼び出し例]+直接Beanメソッドを呼び出します。
-
link://spring3/spring-el-operators-example/[Spring EL演算子
例]+ Spring ELは、標準のリレーショナル、論理、および数学演算子のほとんどをサポートしています。
-
link://spring3/spring-el-ternary-operator-if-then-else-example/[Spring
EL三項演算子(if-then-else)の例]条件付きチェック。
-
link://spring3/spring-el-lists-maps-example/[Spring EL配列、リスト、
マップの例]+マップとリストで動作します。
-
link://spring3/spring-el-regular-expression-example/[Spring EL regular
式の例]条件を評価する正規表現です。
-
link://spring3/test-spring-el-with-expressionparser/[Test Spring EL
with ExpressionParser]Spring Elを簡単にテストする方法を教えてください。
スプリング自動コンポーネントスキャン
SpringはBeanを自動的にスキャン、検出、登録することができます。
-
リンク://spring/spring-auto-scanning-components/[Spring Auto scanning
components]+ Springが自動的にあなたのBeanをスキャン、検出、登録できるようにします。
-
link://spring/spring-filters-in-auto-scanning/[Spring
オートスキャンのフィルターコンポーネント]+オートスキャンモードで特定のコンポーネントをフィルターする例。
春自動配線ビーン
XMLと注釈の両方で自動的にワイヤーや豆にする「自動配線」モードを開始します。
-
リンク://spring/spring-auto-wiring-beans-in-xml/[Spring Auto-Wiring
Beans]+ Springの5種類の自動配線モードのまとめ。
Beanのデータ型が他のBeanプロパティのデータ型と互換性がある場合は、自動配線します。
Beanの名前が別のBeanプロパティの名前と同じ場合は、自動配線します。
-
リンク://spring/spring-autowiring-by-constructor/[Spring Autowiring by
コンストラクタ]+実際は、コンストラクタ引数でTypeをautowiringしています。
-
link://spring/spring-autowiring-by-autodetect/[Springオートワイヤリングby
AutoDetect]+デフォルトのコンストラクタが見つかった場合は “コンストラクタによる自動配線”を選択し、それ以外の場合は “タイプ別の自動配線”を使用します。
-
リンク://spring/spring-auto-wiring-beans-autowired-annotation/[Spring
@Autowired annotationによるオートワイヤリング]アノテーションで ‘auto-wiring’モードを定義する方法を示す例。
-
link://spring/spring-autowiring-qualifier-example/[Springオートワイヤリング
@Qualifier example]+フィールドにautowiredするBeanを識別する例。
Spring AOP(アスペクト指向プログラミング)
Spring AOPは、側面でのクロスカッティングの問題をモジュール化します。単純に言えば、いくつかの方法をインターセプトするインターセプタです。
-
link://spring/spring-aop-examples-advice/[Spring AOPの例 –
アドバイス]さまざまな種類のSpringのアドバイスに関する例と説明。
-
link://spring/spring-aop-example-pointcut-advisor/[Spring AOPの例
-
Pointcut、Advisor]+ SpringのPointcutとAdvisorのさまざまなタイプの例と説明。
-
-
link://spring/spring-aop-interceptor-transaction-is-working/[Spring
AOPインターセプタシーケンス]+ AOPインターセプタのシーケンスは、機能に影響します。
-
link://spring/spring-auto-proxy-creator-example/[自動プロキシ作成者
例]+あなたの豆のためのプロキシオブジェクトを自動的に作成する自動プロキシ作成者の例。多くの複製されたプロキシオブジェクトの作成を避けるのに便利です。
Spring AOP AspectJフレームワーク
AspectJはSpring 2.0からサポートされ、より柔軟で強力です。しかし、この例はSpring 3.0で実証されています。
-
link://spring3/spring-aop-aspectj-annotation-example/[Spring AOP
AspectJアノテーションの例]+ AspectJアノテーションをSpringフレームワークと統合する方法を示す例です。
-
link://spring3/spring-aop-aspectj-in-xml-configuration-example/[Spring
XML構成のAOP + AspectJ]+ XMLベース構成でのAspectJを使用したSpring AOP
Springオブジェクト/XMLマッパー(Spring 3.0)
Spring 3.0では、Object to XMLマッピング(OXM)がSpring WebサービスからコアSpring Frameworkに移行しました。
-
link://spring3/spring-objectxml-mapping-example/[Springオブジェクト/XML
マッピングの例]Spring oxm castor、オブジェクトをXMLに変換し、逆に変換します。
[
springjdbc]
#
SpringのJDBCサポート
Springは、JDBCデータベース全体の操作を簡素化するために、多くのヘルパークラスを提供しています。
SpringとJDBCを統合する方法を示す例です。
-
link://spring/spring-jdbctemplate-jdbcdaosupport-examples/[JdbcTemplate
+ JdbcDaoSupport example]+ SpringのJdbcTemplateクラスとJdbcDaoSupportクラスを使用して、JDBCデータベースの全体的な操作プロセスを簡素化する例。
-
link://spring/spring-jdbctemplate-querying-examples/[JdbcTemplate
問合せの例]+ JdbcTemplate query()メソッドを使用してデータベースに問合せまたはデータを抽出する方法を示す例をいくつか示します。
-
link://spring/spring-jdbctemplate-batchupdate-example/[JdbcTemplate
batchUpdate()例]+バッチ挿入操作の実行方法を示すbatchUpdate()の例です。
-
リンク://spring/spring-simplejdbctemplate-querying-examples/[SimpleJdbcTemplate
問合せの例]+データベースへのデータの問合せや抽出のためのユーザーフレンドリーでシンプルな方法。
-
link://spring/spring-simplejdbctemplate-batchupdate-example/[SimpleJdbcTemplate
batchUpdate()の例]JdbcTemplateのjava5に対応したSimpleJdbcTemplateを使用した別のバッチ更新の例。
-
link://spring/spring-named-parameters-examples-in-simplejdbctemplate/[名前付き
SimpleJdbcTemplateのパラメーターの例]+名前付きパラメーターをSQLパラメーター値として使用する方法を示す例です。これはSimpleJdbcTemplateでのみサポートされています。
Spring Hibernateのサポート
Springには、HibernateのORMフレームワークをサポートする多くの便利なクラスが用意されています。
-
リンク://spring/maven-spring-hibernate-mysql-example/[Maven + Spring
Hibernate + MySqlの例]+ SpringとHibernateを使う単純なプロジェクトです。
-
link://spring/maven-spring-hibernate-annotation-mysql-example/[Maven
(Spring + Hibernate)Annotation + MySqlの例]+ SpringとHibernate(注釈版)を使う単純なプロジェクトです。
-
リンク://spring/spring-aop-transaction-in-hibernate/[Spring
HibernateでのAOPトランザクション管理]+ Spring AOPでHibernateトランザクションを管理する方法を示す例。
-
link://struts/struts-spring-hibernate-integration-example/[Struts
Spring + Hibernate integration]+ SpringをStrutsとHibernateフレームワークと統合する例。
春の電子メールサポート
Springの提供するMailSenderは、JavaMail APIを介して電子メールを送信します。
-
link://spring/spring-sending-email-via-gmail-smtp-server-with-mailsender/[送信
MailSender経由の電子メール]+ SpringのMailSenderを使用してGmail SMTPサーバー経由で電子メールを送信する例。
-
link://spring/spring-define-e-mail-template-in-bean-configuration-file/[E-mail
テンプレートのBean設定ファイル]メソッド本体のすべての電子メールプロパティとメッセージコンテンツをハードコードするのは良い方法ではありませんので、SpringのBean設定ファイルで電子メールメッセージテンプレートを定義することを検討する必要があります。
-
link://spring/spring-sending-添付付きメール/[E-mail送信
添付ファイルあり]添付ファイルがある電子メールを送信するためにSpringを使用する例。
春スケジューリングのサポート
Springは、JDKタイマーとQuartzフレームワークの両方で非常に優れたサポートをしています。
-
link://spring/spring-jdk-timer-scheduler-example/[Spring JDKタイマー
スケジューラの例]+ SpringがJDKタイマーでジョブをスケジュールする方法に関する記事。
-
リンク://spring/spring-quartz-scheduler-example/[Spring + Quartz
スケジューラの例]+ SpringがQuartzフレームワークでジョブをスケジュールする方法に関する記事。
-
link://struts/struts-spring-quartz-scheduler-integration-example/[Spring
+ Struts + Quartzスケジューラの例]+ SpringをStrutsと統合し、Quartzフレームワークでジョブをスケジュールします。
他のWebフレームワークとSpringを統合する
Springは他のWebフレームワークと統合されています。
-
link://spring/spring-how-to-do-do-do-do-in-session-listener/[Spring
サーブレットセッションリスナーの依存関係注入]+ Springは、セッションリスナーと他のほぼすべてのWebフレームワークでSpring依存性注入を有効にする一般的な方法として、 “ContextLoaderListener”リスナーを提供しています。
統合]+ Struts 1.xフレームワークとSpringを統合する例。
統合例]+ SpringをStruts 2フレームワークと統合する例。
-
link://jsf2/jsf-2-0-spring-integration-example/[JSF 2.0 Spring
統合例]+ JSF 2.0をSpringフレームワークと統合する例。
-
link://jsf2/jsf-2-0-spring-hibernate-integration-example/[JSF 2.0
Spring + Hibernate統合の例]+ JSF 2.0 + Spring + Hibernateフレームワークを統合する例。
統合例]+ WicketをSpringフレームワークと統合する例。
-
link://struts2/struts-2-spring-quartz-scheduler-integration-example/[Struts
2 + Spring + Quartzスケジューラ統合例]+ Spring + Struts 2 + Quartzの統合例。
-
link://struts2/struts-2-spring-hibernate-integration-example/[Struts 2
+ Spring + Hibernate統合の例]+ Spring + Struts 2 + Hibernateを統合する例。
春のFAQ
-
リンク://spring/how-to-install-spring-ide-in-eclipse/[Spring IDEのインストール
Eclipseで+ Spring IDEをEclipseにインストールする方法の記事。
-
link://spring/spring-resource-bundle-with-resourcebundlemessagesソース – 例/[Resource
ResourceBundleMessageSourceとのバンドル例]+ ResourceBundleMessageSourceは、さまざまなロケールのテキストメッセージを解決する最も一般的なクラスです。
-
link://spring/spring-how-to-access-messages-in-bean-messagesourceaware/[アクセス
Bean内のMessageSource(MessageSourceAware)]MessageSourceAwareインターフェースを介してBean内のMessageSourceを取得する方法を示す例です。
-
link://spring/spring-resource-loader-with-getresource-example/[Resource
loader with getResource()example]+ Springのリソースローダーは、(テキストファイル、メディアファイル、イメージファイルなどの)リソースをファイルシステム、クラスパス、またはURLから取得するための非常に汎用的なgetResource()メソッドを提供します。
春の一般的なエラー
いくつかのSpringの一般的なエラーメッセージ。
-
link://spring/spring-error-classnotfoundexception-org-springframework-web-context-contextloaderlistener/[ClassNotFoundException
: org.springframework.web.context.ContextLoaderListener]** link://spring/spring-aop-error-cannot-proxy-target-class-because-cglib2-is-not-available/[Cannot
CGLIB2が利用できないため、プロキシターゲットクラス]** link://spring3/cglib-is-required-to-process-configuration-classes/[CGLIB
@Configurationクラスを処理する必要があります]** link://spring3/classnotfoundexception-org-exolab-castor-xml-xmlexception/[java.lang.ClassNotFoundException:
org.exolab.castor.xml.XMLException]** link://spring3/classnotfoundexception-org-apache-xml-serialize-xmlserializer/[java.lang.ClassNotFoundException:
org.apache.xml.serialize.XMLSerializer]
春の参考文献
-
http://www.springsource.org/documentation
[Spring Official
ドキュメンテーション]**
http://static.springsource.org/spring/docs/2.5.x/reference/index.html
[Spring
2.5.6ドキュメント]**
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/
[Spring
3.0ドキュメンテーション]