Spring Boot-よくある面接問題(二)


Spring Boot-よくある面接問題(二)
ネットでよく見られるSpring Bootの面接問題を整理して抜粋して、参考にしてください.
1.Spring Bootとは?
Spring BootはSpring開源組織の下のサブプロジェクトで、Springコンポーネントのワンストップソリューションであり、主にSpringを使用する難易度を簡略化したもので、複雑な配置を省き、各種のアクチュエータを提供し、開発者が素早く操作できる.もっとSpring Boot詳細は公式サイトをご覧ください.https://spring.io/projects/spring-boot.
2.なぜSpring Bootを使うのですか?
Spring Bootの長所は非常に多いです.
  • 独立運転
  • 配置の簡略化
  • 自動配置
  • コード生成とXML配置なし
  • アプリケーション監視
  • 手軽・
  • Spring Boot集はこんなに多くの長所があるのに、それを使わない理由がありますか?
    3.Spring Bootのコアプロファイルはどれですか?その違いは何ですか?
    Spring Bootのコアプロファイルは、apprationとbootstrapのプロファイルです.appicationプロファイルはこの分かりやすいです.主にSpring Bootプロジェクトの自動化配置に使われます.bootstrap配置ファイルには以下のいくつかのアプリケーションがあります.
  • Spring Cloud Cofig配置センターを使用する場合は、bootstrapプロファイルに配置センターに接続された配置属性を追加して、外部配置センターの配置情報をロードする必要があります.
  • 固定されていて上書きできない属性があります.
  • 暗号化/復号の場面があります.
  • 具体的にはこの文章「Spring Boot配置ファイル詳細」をご覧ください.
    4.Spring Bootの配置ファイルは何種類ありますか?どんな違いがありますか?
    propertiesと.ymlの違いは主に書き方が違います.1)properties
    app.user.name = javastack
    
    2).yml
    app:
      user:
        name: javastack
    
    また、ymlフォーマットは@ProptySourceコメント導入プロファイルに対応していません.
    5.Spring Bootの核心注釈はどれですか?それは主にどの注釈からなっていますか?
    スタートクラスの上の注釈は@Spring Bootationで、Spring Bootの核心注解でもあります.主な組み合わせは以下の3つの注釈が含まれています.
  • @SpringBootCofigration:@Configrationの注釈を組み合わせて、プロファイルの機能を実現します.
  • @EnballAutoConfigration:自動配置の機能をオンにして、データソースの自動配置機能をオフにするなどのオプションもオフにできます.
  • @ComponentScan:Springコンポーネントスキャン.
  • 6.Spring Bootの特性を開くにはどのような方法がありますか?
    1)spring-book-starter-parentプロジェクトを引き継ぐ2)spring-book-dependenciesプロジェクトの導入依存性
    7.Spring Bootは独立した容器で運行する必要がありますか?
    必要なく、Tomcat/Jetty/Undertowなどの容器を内蔵しています.
    8.Spring Bootを実行するにはどのような方法がありますか?
    1)包装用命令または容器に入れて運転する2)Maven/Gradeプラグインで実行する3)直接main方法で実行する
    9.Spring Boot自動配置の原理は何ですか?
    注@EnbaleAutoConfigration、@Configration、@Conditional Onlassは自動的に配置された核心であり、まず配置ファイルでなければなりません.次にクラスパスによってこの種類が自動的に配置されますか?
    10.Spring BootのStartersをどう理解しますか?
    スターターは、一連のアプリケーションに統合できる依存パッケージを含んでいるスターターとして理解できますが、Springや他の技術をワンストップに統合できます.Spring JPAを使ってデータベースにアクセスしたいなら、spring-boot-starter-data-jpaランチャー依存を加えれば使えます.Startsは多くのプロジェクトに必要な依存性を含んでいます.それらは速く持続的に運行できます.一連のサポートされた管理伝達性に依存しています.
    11.Spring Bootの起動時に、特定のコードを実行するにはどうすればいいですか?
    インターフェースApplication RunnerまたはCommundLineline Runnerを実現することができます.この二つのインターフェースの実装方法は同じです.それらは一つのrun方法だけを提供します.
    12.Spring Bootはどのような読み取り構成がありますか?
    Spring Bootは@PropertySource、@Value、@Environment、@ConfigrationProptiesを通じて変数をバインドすることができます.
    13.Spring Bootはどのようなログフレームをサポートしていますか?おすすめとデフォルトのログフレームはどれですか?
    Spring BootはJava Util Logg 2、Log 4 j 2、Lockbackをログフレームとしてサポートしています.Starters起動器を使えば、Spring Bootはログバックをデフォルトログフレームとして使用します.
    14.SpringBoot熱配置を実現する方法は?
    spring-boot-devtoolsプラグインを使用して、対応する依存性を紹介します.
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-devtoolsartifactId>
                <scope>runtimescope>
            dependency>
    
    15.Spring Bootはどのように複数の環境構成を定義しますか?
  • properties方式:apprations.properties appration-dev.properties appration-test.properties appration-properties.properties実行時に具体的な配置ファイルを指定して、例えばspring.profiles.active=prodprod環境を活性化する.
  • yml方式は、1つのファイルだけでaplication.yml:
  • spring:
      profiles:
        active: dev
        
    ---
    spring:
         profiles: dev
    server:
      port: 8080
    
    ---
    spring:
      profiles: test
    server:
      port: 8081
    
    ---
    spring:
      profiles: prod
    server:
      port: 80
    
    16.Spring Bootは古いSpringプロジェクトに対応できますか?どうすればいいですか?
    互換性があります.@ImportResourceコメントを使って古いSpringプロジェクトのプロファイルを導入します.
    17.Spring Bootの保護にはどのような方法がありますか?
  • 生産にHTTPS
  • Snykであなたの依存関係をチェックする
  • 最新バージョンにアップグレード
  • CSRF保護の有効化
  • コンテンツセキュリティポリシーでXSS攻撃を防ぐ・
  • この記事をもっと読んでください.
    18.Spring Boot 2.Xは何か新しい特性がありますか?1.Xと何の違いがありますか?
    設定変更JDKバージョンをアップグレードした第三者クラスライブラリのアップグレード応答式SpringプログラミングはHTTP/2サポートしています.
    具体的にはこの文章「Spring Boot 2.0 Migrationガイド」をご覧ください.
    本文の内容はネットから整理しています.もし間違いがあれば、ご指摘ください.