0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Spring構造紹介

Posted at

Springのアキテクチャ

Springフレームワークは分層フレームワークで、沢山のファンクションを持ち、約20モジュールがあります。以下の図のように
image.png

主に以下の5つの部分に分けられます。

Core Container

Core Containerには、Core、Beans、ContextとExpression Languageがあります。CoreとBeansは基盤の部分で、IoCとDIのファンクションを提供します。ここでは、BeanFactoryという概念がありまして、Factoryパターンを実装してシングルパターンができ、依頼関係と設置を分離することができます。

  • Coreモジュールは主にSpringフレームワークのCoreツールクラスを含む、SpringのほかのモジュールはCoreモジュールのクラスをよく使って、Coreモジュールはほかのモジュールの基盤です。
  • Beansモジュールは全てのアプリケーションが使うものです。例えば、設置ファイルのリーディング、beanの構造や管理、またInversion of Control /Dependency Injection(IoC/DI)に関わるクラスです。
  • ContextモジュールはCoreとBeansを用いて構築されたものです。ContextはJNDIに似てるものを提供してインスタンスをリーディングします。ContextはBeansの特徴を継承し、大量のファンクションを提供します。
  • Expression Languageは強大な言語表現式を提供し、インスタンスの操作を行います。

Data Access/Integration

Data Access/Integration層はJDBC、ORM、OXM、JMSとTransactionを含んでいます。

  • JDBCモジュールは抽象的なJDBCを提供します。このJDBCモジュールは全てのJDBCのクラスを含んでいます。
  • ORMモジュールは流行っているORMにAPI層を提供します。

Springは若干のORMフレームワークツールを提供します。例えば、JDO、HibernateとiBatisSQL Map。これらはSpringトランザクションやDAOの構造に従います。

  • OXMモジュールはObject/XMLの抽象的な層を提供します。Object/XMLにはJAXB、Castor、XML-Beans、JiBXとXStreamを含んでいます。
  • JMS(Java Messaging Service)モジュールはメッセージのPub/Subの特性を含んでいます。
  • TransactionモジュールはトランザクションのAPIを提供します。

Web

Webモジュールはアプリケーションコンテストの上で、ウェブに基づくアプリケーションのコンテストを提供します。Web層にはWeb、Web-Servlet、Web-StrutsとWeb-Porletを含んでいます。
- Webモジュールは基盤Web特性を提供します。例えば、ファイルのアップロード、servlet listenersの使いなどです。
- Web-Servletモジュールweb.servlet.jarには、Springのmodel-view-controller(MVC)の実現を含んでいます。
- Web-StrutsモジュールにはStrutsの実現を含んでいます。ただ、Spring 3.0からもう廃棄されました。
- Web-PorletモジュールはPortlet環境やWeb-ServletモジュールのMVCの実現を含んでいます。

AOP

AOPモジュールはAOP標準に基づいて、Pointcutインターフェースを提供しています。また、AOPモジュールにはトランザクションも提供しています。
- AspectsモジュールはAspectJの実現を含んでいます。
- Instrumentationモジュールはclass instrumentationやclassloaderの実現を含んでいます。

Test

TestモジュールはJUnitとTestNGの実現を含んでいます。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?