Spring
1.Springとは?
Springは、Javaエンタープライズアプリケーションのためのオープンソースの開発フレームワークです。アプリケーション開発の複雑さを軽減するように設計されています。
2.Springフレームワークを使うメリットは?
- 軽量:Springは軽量で、基本バージョンは約2MBです。
- 制御の逆転:Springは制御の逆転を通して、疎結合を実現します。
- 最先端のプログラミング:Springは最先端のプログラミングをサポートし、アプリケーションのビジネスロジックをシステムサービスから分離します。
- コンテナ:Springは、アプリケーション内のオブジェクトのライフサイクルと構成を格納し、管理します。
- MVCフレームワーク: SpringのWEBフレームワークはよく設計されたフレームワークで、WEBフレームワークの良い代替です。
- トランザクション管理: Springは、ローカルトランザクションからグローバルトランザクションまで拡張可能な、継続的なトランザクション管理インターフェースを提供します。
3.Springはどのようなモジュールで構成されていますか?
単純に6つのモジュールに分かれています:
Spring Core springIOCコンテナのコア機能:オブジェクトの作成と依存関係を解決する。
Spring Web Springウェブ・モジュールをサポートする。
---は、strutsと統合することができる。
---spring mvc
Spring DAO Spring jdbc操作のサポート JdbcTemplateテンプレート・ツール・クラス
Spring ORM springormをサポートする:
---どちらも、hibernateやセッションと統合することができる。
---また、スプリングのhibernateパッケージを使うこともできる!
SprinP 最先端のプログラミング
SpringEE spring 他のjavaEEモジュールをサポートする
これはSpring Frameworkの基本的な機能を提供する、基本的なSpringモジュールです。BeanFactoryはSpringベースのアプリケーションのコアで、Springは基本的にビーンファクトリーまたはビーンコンテナです。
どちらのタイプの依存関係も使用できます。 最良の解決策は、必須の依存関係にはコンストラクタのパラメータを使用し、オプションの依存関係にはセッターメソッドを使用することです。
5.IoCの利点をいくつか挙げてください。
- アプリケーションのコード量を最小限に抑えます。
- 最小限の影響と最小限の侵入メカニズムで、疎結合を促進します。
Spring Beans
1.Springビーンズとは?
Springビーンズは、Springアプリケーションを形成するJavaオブジェクトです。これらはSpring IoCコンテナによって初期化、組み立て、管理されます。これらのBeanは、コンテナ内で設定されたメタデータから作成されます。
2.設定メタデータをSpringコンテナに提供するには?
Springコンテナに設定メタデータを提供するには、3つの重要な方法があります:
- XML設定ファイル: Beanが必要とする依存関係やサービスは、XML形式の設定ファイルで指定します。通常、Beanタグで始まります。例えば
<bean id="studentbean" class="org.edureka.firstSpring.StudentBean">
<property name="name" value="Edureka"></property>
</bean>
アノテーションに基づく構成: Beanは、関連するクラス、メソッド、フィールドの宣言にアノテーションを使用することで、コンポーネントクラス自体として構成できます。デフォルトでは、アノテーションアセンブリはSpringコンテナでは有効になっていません。そのため、使用する前にSpring設定ファイルで有効にする必要があります。例えば
<beans> <context:annotation-config/>
<!-- bean definitions go here --> </beans>
Beanアノテーションは要素と同じ役割を果たします。
Configurationクラスでは、同じクラス内の他の@Beanメソッドを呼び出すだけで、Bean間の依存関係を定義できます。
@Configuration
public class StudentConfig {
@Bean
public StudentBean myStudent() {
return new StudentBean();
}
}
3.Spring Frameworkの単一インスタンスBeanはスレッドセーフですか?
Spring Frameworkの単一インスタンスBeanはスレッドセーフではありません!
5.Springの内部Beanとは何ですか?<constructor-arg/>
Springは以下のコレクションのための設定要素を提供します:
7.ビーンアセンブリとは何ですか?
ビーンがSpringコンテナ内で結合されることをビーンアセンブリと呼びます。
8.ビーンの自動アセンブリとは?<constructor-arg>Springコンテナは、互いに連携するBeanを自動的に組み立てることができます。これは、コンテナが
Spring Beans
1.JavaベースのSpringアノテーション構成とは何ですか? アノテーションの例をいくつか挙げてください。
Javaベースのコンフィギュレーションでは、SpringのコンフィギュレーションのほとんどをXMLファイルではなく、Javaアノテーションの助けを借りて行うことができます。例えば、@Configurationアノテーションは、Spring IOCコンテナでBean定義として使用できるクラスをマークするために使用されます。もう1つの例は
これは、このメソッドがSpringアプリケーションコンテキストにBeanとして登録されるオブジェクトを返すことを示します。
2.アノテーションアセンブリを有効にするには?<context:annotation-config/>アノテーションアセンブリはデフォルトでは有効になっていません。 アノテーションアセンブリを使用するには、Springの設定ファイルで要素を構成して有効にする必要があります。
4. @Resourceアノテーション、@Autowiredアノテーション、@Requireアノテーション、@Qualifierアノテーション。
Resourceアノテーションと@Autowiredアノテーションは、フィールドまたはセッターメソッドでBeanをアセンブルするために使用できます。
デフォルトの @Resource は、 name 属性で指定できる名前によって Bean をアセンブルします。
Autowiredは、デフォルトではTypeでアセンブルされます。
Requiredアノテーションは,Bean属性のセッターメソッドに適用され,構成時に,影響を受けるBean属性がXML構成ファイルに配置されなければならないことを示し,さもなければ,コンテナは,BeanInitialisationExceptionを投げる。
同じ型のBeanが複数あるが、自動配線する必要があるのは1つだけである場合、@Qualifierアノテーションを@Autowireアノテーションと組み合わせて使用し、アセンブルする必要がある正確なBeanを指定します。
Spring
1.SpringのDAOのサポート
Springのデータアクセスオブジェクトのサポートは、JDBC、Hibernate、JDOのようなデータアクセス技術との併用が簡単になるように設計されています。これにより、永続化レイヤーを簡単に切り替えることができます。また、各テクノロジー固有の例外をキャッチする心配もありません。
2.SpringはORMをサポート
Hibernate
iBatis
JPA
トップリンク
JDO
OJB
3.Springはトランザクション管理の種類をサポート
Springは2種類のトランザクション管理をサポートしています:
Programmatic Transaction Management (プログラムによるトランザクション管理): トランザクションをプログラムで管理します。
宣言型トランザクション管理: これはビジネスコードとトランザクション管理を分離できることを意味し、トランザクションを管理するために必要なのはアノテーションとXMLコンフィギュレーションだけです。
ほとんどのSpring Frameworkユーザーは宣言型トランザクション管理を選択します。それはアプリケーションコードへの影響が最小限であるため、より非侵入型の軽量コンテナの考え方に沿っているからです。
Springの切断指向プログラミング
1.AOPの説明
AOP(Aspect-Oriented Programming、[ˈæspekt]-[ˈː] [ˈprəɪ])、すなわち切断指向プログラミングは、OOP(Object-Oriented Programming)プログラミングを補完する便利なものです。OOPの最小単位はクラスですが、AOPの最小単位はファセットです。
平たく言えば、AOPは、異なるが必要な反復コードを抽出し、それを独立して実装し、切り口を通してシステムに切り込むのに役立ちます。この利点は、この繰り返しコードを毎回書き直すのではなく、一元管理して再利用できることです。
コードのメンテナンスが容易になり、ビジネスロジックを雑多なものから切り離し、ビジネスロジックのコード開発に集中できるようになります。
2.プロキシとは何ですか?プロキシとは何か、Spring AOPはどのようなプロキシを使うのか?
プロキシパターンの中心的な役割は、プロキシを通してオブジェクトへのアクセスを制御することです。JDKの動的プロキシとCGLIBの動的プロキシの両方が、Spring AOPの実装の基礎となっています。
プロキシの使用におけるSpring AOPのロジックを要約します:ターゲットオブジェクトがインターフェイスを実装している場合、デフォルトでは、AOPを達成するためにJDKのダイナミックプロキシになります。



