Spring Boot学習まとめ(14)——Spring Bootよくある面接問題のまとめ


1、Spring Bootとは何ですか?
Spring BootはSpring開源組織の下のサブプロジェクトで、Springコンポーネントのワンストップソリューションであり、主にSpringを使用する難易度を簡略化したもので、複雑な配置を省き、各種のアクチュエータを提供し、開発者が素早く操作できる.
2、なぜSpring Bootを使うのですか?
Spring Bootの長所は非常に多いです.
  • 独立運転
  • 構成を簡略化する
  • .
  • 自動構成
  • コード生成とXML構成
  • アプリケーション監視
  • 上手は簡単です.
  • Spring Boot集はこんなに多くの長所があるのに、それを使わない理由がありますか?
    3、Spring Bootのコアプロファイルはどれですか?その違いは何ですか?
    Spring Bootのコアプロファイルは、apprationとbootstrapのプロファイルです.
    appicationプロファイルはこの分かりやすいです.主にSpring Bootプロジェクトの自動化配置に使われます.
    bootstrap配置ファイルには以下のいくつかのアプリケーションがあります.
  • Spring Cloud Cofig配置センターを使用する場合、bootstrapプロファイルに配置センターに接続された構成属性を追加して、外部配置センターの配置情報をロードする必要がある.
  • いくつかの固定されたカバーできない属性.
  • いくつかの暗号化/復号の場面.
  • 4、Spring Bootの配置ファイルは何種類ありますか?どんな違いがありますか?
    propertiesと.ymlの違いは主に書き方が違います.
    1)properties
    app.user.name = javastack
    
    2).yml
    app:
      user:
        name: javastack
    
    なお、ymlフォーマットはサポートされていません.  @PropertySource 設定をインポートします.
    5、Spring Bootの核心注釈はどれですか?それは主にどの注釈からなっていますか?
    スタートクラスの上の注釈は@Spring Bootationで、Spring Bootの核心注解でもあります.主な組み合わせは以下の3つの注釈が含まれています.
    @Spring BootConfigration:@Configrationの注釈を組み合わせて、配置ファイルの機能を実現します.
    @Enbale AutoConfigration:自動構成の機能をオンにしても、データソースの自動構成機能をオフにするなどのオプションをオフにすることができます.
    @ComponentScan:Springコンポーネントスキャン.
    6、Spring Bootの特性を開くにはどのような方法がありますか?
    1)spring-boot-starter-parentプロジェクトを継承する
    2)spring-book-dependenciesプロジェクトの導入依存性
    7、Spring Bootは独立した容器で運行する必要がありますか?
    必要なく、Tomcat/Jettyなどの容器を内蔵しています.
    8、Spring Bootを運行するにはどのような方法がありますか?
    1)包装用命令または容器に入れて運転する
    2)Maven/Gradeプラグインで動作する
    3)直接にメーンメソッドを実行して実行する
    9、Spring Boot自動配置の原理は何ですか?
    注@EnbaleAutoConfigration、@Configration、@Conditional Onlassは自動的に配置された核心であり、まず配置ファイルでなければなりません.次にクラスパスによってこの種類が自動的に配置されますか?
    10、Spring Bootのディレクトリ構造はどうなりますか?
    cn
     +- javastack
         +- MyApplication.java
         |
         +- customer
         |   +- Customer.java
         |   +- CustomerController.java
         |   +- CustomerService.java
         |   +- CustomerRepository.java
         |
         +- order
             +- Order.java
             +- OrderController.java
             +- OrderService.java
             +- OrderRepository.java
    
    このカタログ構造は主流と推奨の方法ですが、主な入口類に@Spring BootApplicationの注釈をつけてSpring Bootを開く各能力は自動配置、コンポーネントスキャンなどです.
    11、Spring BootのStartersをどう理解しますか?
    スターターは、一連のアプリケーションに統合できる依存パッケージを含んでいるスターターとして理解できますが、Springや他の技術をワンストップに統合できます.Spring JPAを使ってデータベースにアクセスしたいなら、spring-boot-starter-data-jpaランチャー依存を加えれば使えます.Startsは多くのプロジェクトに必要な依存性を含んでいます.それらは速く持続的に運行できます.一連のサポートされた管理伝達性に依存しています.
    12、Spring Bootの起動時に、どのように特定のコードを実行しますか?
    インターフェースApplication RunnerまたはCommandlineRunnerを実現することができます.この二つのインターフェースの実装方法は同じです.それらは一つのrun方法しか提供していません.
    13、Spring Bootはどのような読み取り構成がありますか?
    Spring Bootは@PropertySource、@Value、@Environment、@ConfigrationProptiesを通じて変数をバインドできます.
    14、Spring Bootはどのようなログフレームをサポートしますか?おすすめとデフォルトのログフレームはどれですか?
    Spring BootはJava Util Logg 2,Log 4 j 2,Lockbackをログフレームとしてサポートしていますが、Startersスターターを使えば、Spring Bootはログバックをデフォルトログフレームとして使用します.
    15、SpringBootが熱い展開を実現するにはどのような方法がありますか?
    主に二つの方法があります.
  • Spring Loaded
  • Spring-book-devtools
  • 16、Spring Bootの配置ローディング順序はどう分かりますか?
    Spring Bootでは、以下のように構成をロードすることができます.
    1)propertiesファイル;
    2)YAMLファイル
    3)システム環境変数;
    4)コマンドラインパラメータ;
    ちょっと待ってください
    17、Spring Bootはどのように複数の環境構成を定義しますか?
    複数の設定ファイルを提供します.
    applcation.properties
    
    application-dev.properties
    
    application-test.properties
    
    application-prod.properties
    
    実行時に具体的なプロファイルを指定します.
    18、Spring Bootは古いSpringプロジェクトに対応できますか?どうすればいいですか?
    互換性があります.  @ImportResource 古いSpringプロジェクトのプロファイルを導入します.
    19、Spring Bootの保護にはどのような方法がありますか?
  • HTTPS
  • を生産に使用する.
  • Snykを使ってあなたの依存関係をチェックします.
  • は最新バージョン
  • にアップグレードされました.
  • CSRF保護を有効にする
  • コンテンツセキュリティポリシーを使用して、XSS攻撃を防止する
  • .
  • 20、Spring Boot 2.Xは何か新しい特性がありますか?1.Xと何の違いがありますか?
  • 配置変更
  • JDKバージョンアップ
  • サードパーティクラスアップグレード
  • 応答式Springプログラミングサポート
  • HTTP/2サポート
  • 属性バインディング
  • を構成する.
  • より多くの改善と強化…
  • 21、参考資料
    『Spring Bootとは?』
    「Spring Bootコア配置ファイル詳細」
    『Spring Bootオープンの2つの方法』
    「Spring Boot自動配置原理、実戦」
    『Spring Bootメインクラスとディレクトリ構造紹介』
    『Spring Boot Startersスターター』
    『Spring Boot Runnerスターター』
    「Spring Boot読み取り構成のいくつかの方法」
    『Spring Boot日記集成』
    『Spring Boot熱展開実現』
    「Spring Boot配置荷重順序詳細」
    『Spring Boot Profile異なる環境構成』
    『10種類のSpring Bootを保護する絶好の方法』
    『Spring Boot 2.x新特性総括及び移転ガイド』