Springよくある面接問題のまとめ
4066 ワード
Java Webを学ぶにはSpringを学ぶことは避けられない.じゃ何がスプリングですか?Springはオープンソースの軽量級Java開発の枠組みであり、主に開発を簡略化し、メンテナンス性を高めるためである.今日は面接中のSpringに関する面接問題をまとめます. いくつかの重要なSpringモジュールを列挙します.
下図はSpring 4.xバージョンに対応しています. Spring Core:基本的に、Springの他のすべての機能はこのクラスのライブラリに依存する必要があります.主にIOC依存注入機能を提供する. Spring Asppects:このモジュールはAsppectJとの統合に対応している. Spring AOP:切断面向けのプログラミング実現を提供します. Spring JDBC:Javaデータベース接続. Spring JMS:Javaメッセージサービス. Spring ORM:HbernateなどのORMツールをサポートするために使用します. Spring Web:Webアプリケーションを作成するためのサポートを提供します. Spring Test:JUnitとTestNGテストのサポートを提供します. Spring IOCについて話します
IOC(Inverse of Control:制御反転)は、元々プログラムでオブジェクトを手動で作成した制御権をSpringフレームワークで管理するという設計思想です.IOC容器は実際にはMap(key,value)であり、Mapには様々なオブジェクトが格納されている.
オブジェクト間の相互依存関係をIOC容器に任せて管理し、対象の注入をIOC容器で行う.このように、アプリケーションの開発が大幅に簡略化され、複雑な依存関係からアプリケーションが解放されます.IOC容器は工場のように、オブジェクトを作成する必要がある時は、配置ファイル/注釈を配置すればよく、対象がどのように作成されたかを全く考慮しなくてもいいです.
IOCソース解析:IOCソース解析
Spring AOPについて話します
AOP(Asppect-Oriented Programming:面向けプログラミング)は、業務とは関係なく、業務モジュールに共通して呼び出される論理または責任(例えば、事務処理、ログ管理、権限制御など)をパッケージ化して、システムの重複コードを低減し、モジュール間の結合度を低減し、将来の開拓性と維持性に有利である.
Spring AOPは動的エージェントに基づいており、代理の対象があるインターフェースを実現すると、Spring AOPは
Springの中のbeanの作用領域はどれらがありますか? singleton:唯一のbeanの例、Springのbeanのデフォルトは一例です. prototype:要求毎に新しいbeanインスタンスが作成されます. request:HTTP要求は、現在のHTTP request内でのみ有効である新たなbeanを生成する. session:HTTP要求は、現在のHTTP session内でのみ有効である新たなbeanを生成する. global-session:この属性はHTTP Sessionのみに使用され、sessionの役割領域とは異なり、全てのSessionが一つのBeanのインスタンスを共有する. @Componentと@Beanの違いは何ですか?
@Component注解はクラスに作用しますが、@Bean注解は方法に作用します.
Spring MVCについて知っていますか?
MVCはデザインモードで、Spring MVCは優れたMVCフレームです.Spring MVCはより簡潔なWeb層の開発を助けてくれます.Springフレームワークと統合されて生まれました.Spring MVCではバックエンドプロジェクトをService層(処理業務)、Dao層(データベース操作)、Entity層(実体類)、Controller層(コントロール層、データをフロントページに返す)に分けます.
SpringMVCの仕事原理(重点)について話します.
原理は下図の通りです.
流れの説明(重要):クライアント(ブラウザ)が要求を送信し、 は、対応する プロセッサは、トラフィックを処理した後、 は、 に返信する.
Springフレームにはどのようなデザインパターンが使われていますか?
ソース解析:Springデザインモデルのソース解析工場モード:Springは工場モードを使用して プロキシモード:Spring AOP機能の実現. シングルケースモード:SpringのBeanはデフォルトでは一例です. テンプレート方法モード:Springにおける 装飾器モード:私たちのプロジェクトは複数のデータベースに接続する必要があります.また、顧客が訪問するたびに必要に応じて異なるデータベースにアクセスします.このモードはお客様のニーズに応じて、異なるデータソースを動的に切り替えることができます. 観察者モード:Springイベント駆動モデルは観察者モードの古典的な応用である. アダプターモード:Spring AOPの拡張または通知(Advice)はアダプタモード、spring MVCにもアダプタモード適応 … 参照
Spring面接のまとめ
Spring
Spring IOC
Spring AOP
Spring bean ?
@Component @Bean ?
Spring MVC ?
SpringMVC
Spring ?
下図はSpring 4.xバージョンに対応しています.
IOC(Inverse of Control:制御反転)は、元々プログラムでオブジェクトを手動で作成した制御権をSpringフレームワークで管理するという設計思想です.IOC容器は実際にはMap(key,value)であり、Mapには様々なオブジェクトが格納されている.
オブジェクト間の相互依存関係をIOC容器に任せて管理し、対象の注入をIOC容器で行う.このように、アプリケーションの開発が大幅に簡略化され、複雑な依存関係からアプリケーションが解放されます.IOC容器は工場のように、オブジェクトを作成する必要がある時は、配置ファイル/注釈を配置すればよく、対象がどのように作成されたかを全く考慮しなくてもいいです.
IOCソース解析:IOCソース解析
Spring AOPについて話します
AOP(Asppect-Oriented Programming:面向けプログラミング)は、業務とは関係なく、業務モジュールに共通して呼び出される論理または責任(例えば、事務処理、ログ管理、権限制御など)をパッケージ化して、システムの重複コードを低減し、モジュール間の結合度を低減し、将来の開拓性と維持性に有利である.
Spring AOPは動的エージェントに基づいており、代理の対象があるインターフェースを実現すると、Spring AOPは
JDK Proxy
を使用して代理オブジェクトを作成し、インターフェースが実現されていないオブジェクトに対してJDK Proxyを使用して代理できなくなり、この時Spring AOPはCglib
を使用します.Springの中のbeanの作用領域はどれらがありますか?
@Component注解はクラスに作用しますが、@Bean注解は方法に作用します.
@Component
は、一般に、クラスパススキャンによって自動的に検出され、Spring容器に自動的に組み立てられる.@Bean
注釈は、一般的に私たちが注釈を付けた方法でこのbeanを生成することを定義しています.@Bean
はSpringに対して、これはある種類の例です.私はこれを使う必要があるときに返してください.Spring MVCについて知っていますか?
MVCはデザインモードで、Spring MVCは優れたMVCフレームです.Spring MVCはより簡潔なWeb層の開発を助けてくれます.Springフレームワークと統合されて生まれました.Spring MVCではバックエンドプロジェクトをService層(処理業務)、Dao層(データベース操作)、Entity層(実体類)、Controller層(コントロール層、データをフロントページに返す)に分けます.
SpringMVCの仕事原理(重点)について話します.
原理は下図の通りです.
流れの説明(重要):
DispatcherServlet
に直接要求する.DispatcherServlet
は、要求情報に従ってHandlerMapping
を呼び出し、解析要求に対応するHandler
を呼び出す.Handler
(つまり、私たちが普段話しているController
コントローラ)に解析した後、HandlerAdapter
アダプタによる処理を開始する.HandlerAdapter
は、Handler
に従って、真のプロセッサオープン処理要求を呼び出し、対応するトラヒックロジックを処理する.ModelAndView
オブジェクトに戻り、Model
は戻りデータオブジェクトであり、View
は論理的なView
である.ViewResolver
は、論理View
に従って実際のView
を検索する.DispaterServlet
は、戻ってきたModel
をView
に伝えます.View
を要求者(ブラウザ)Springフレームにはどのようなデザインパターンが使われていますか?
ソース解析:Springデザインモデルのソース解析
BeanFactory
、ApplicationContext
を通じてbeanオブジェクトを作成する.jdbcTemplate
、hibernateTemplate
などのTemplateで終わるデータベース動作のクラスは、テンプレートモードに使用される.Controller
を使用しています.Spring面接のまとめ