<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      從零開始學Spring Boot系列-SpringApplication

      SpringApplication類提供了一種從main()方法啟動Spring應用的便捷方式。在很多情況下, 你只需委托給 SpringApplication.run這個靜態方法 :

          @SpringBootApplication
          public class SpringbootLearningApplication {
      
              public static void main(String[] args) {
                  SpringApplication.run(SpringbootLearningApplication.class, args);
              }
      
          }
      

      當應用啟動時, 你應該會看到類似下面的東西:
      20240407182652
      默認情況下會顯示INFO級別的日志信息, 包括一些相關的啟動詳情, 比如啟動應用的用戶等。

      自定義Banner

      通過在classpath下添加一個banner.txt或設置banner.location來指定相應的文件可以改變啟動過程中打印的banner。如果這個文件有特殊的編碼,你可以使用banner.encoding設置它(默認為UTF-8)。
      在banner.txt中可以使用如下的變量:

      變量 描述
      application.version MANIFEST.MF中聲明的應用版本號, 例如1.0
      application.formatted- version MANIFEST.MF中聲明的被格式化后的應用版本號(被括號包裹且以v作為前綴),用于顯 示,例如(v1.0)
      spring-boot.version 正在使用的Spring Boot版本號, 例如3.2.3
      spring-boot.formatted-version 正在使用的Spring Boot被格式化后的版本號(被括號包裹且以v作為前綴), 用于顯示,例如(v3.2.3)

      注:如果想以編程的方式產生一個banner,可以使用SpringBootApplication.setBanner(…)方法。使用org.springframework.boot.Banner接口,實現你自己的printBanner()方法。

      自定義SpringApplication

      如果默認的SpringApplication不符合你的口味,你可以創建一個本地的實例并自定義它。例如,關閉banner你可以這樣寫:

      @SpringBootApplication
      public class SpringbootLearningApplication {
      
       public static void main(String[] args) {
        SpringApplication app =new SpringApplication(SpringbootLearningApplication.class);
        app.setBannerMode(Banner.Mode.OFF);
        app.run(args);
       }
      
      }
      

      注:傳遞給SpringApplication的構造器參數是spring beans的配置源。在大多數情況下,這些將是@Configuration類的引用,但它們也可能是XML配置或要掃描包的引用。

      Application事件和監聽器

      除了常見的Spring框架事件,比如ContextRefreshedEvent,一個SpringApplication也發送一些額外的應用事件。一些事件實際上是在ApplicationContext被創建前觸發的。
      你可以使用多種方式注冊事件監聽器,最普通的是使用SpringApplication.addListeners(…)方法。在你的應用運行時,應用事件會以下面的次序發送:

      1. 在運行開始,但除了監聽器注冊和初始化以外的任何處理之前,會發送一個ApplicationStartedEvent。
      2. 在Environment將被用于已知的上下文,但在上下文被創建前,會發送一個ApplicationEnvironmentPreparedEvent。
      3. 在refresh開始前,但在bean定義已被加載后,會發送一個ApplicationPreparedEvent。
      4. 啟動過程中如果出現異常,會發送一個ApplicationFailedEvent。

      注 :你通常不需要使用應用程序事件, 但知道它們的存在會很方便(在某些場合可能會使用到)。在Spring內部, Spring Boot使用事件處理各種各樣的任務。

      Web環境

      一個SpringApplication將嘗試為你創建正確類型的ApplicationContext。在默認情況下,使用AnnotationConfigApplicationContext或AnnotationConfigEmbeddedWebApplicationContext取決于你正在開發的是否是web應用。

      用于確定一個web環境的算法相當簡單(基于是否存在某些類)。如果需要覆蓋默認行為,你可以使用setWebEnvironment(boolean webEnvironment)。通過調用setApplicationContextClass(…),你可以完全控制ApplicationContext的類型。

      注: 當JUnit測試里使用SpringApplication時,調用setWebEnvironment(false)是可取的。

      命令行啟動器

      如果你想獲取原始的命令行參數,或一旦SpringApplication啟動,你需要運行一些特定的代碼,你可以實現CommandLineRunner接口。在所有實現該接口的Spring beans上將調用run(String … args)方法。

      @Component
      public class MyBean implements CommandLineRunner {
      
          @Override
          public void run(String... args) throws Exception {
              System.out.println("啟動前執行");
          }
      }
      

      如果一些CommandLineRunner beans被定義必須以特定的次序調用, 你可以額外實現org.springframework.core.Ordered接口或使用org.springframework.core.annotation.Order注解。

      Application退出

      每個SpringApplication在退出時為了確保ApplicationContext被優雅的關閉, 將會注冊一個JVM的shutdown鉤子。所有標準的Spring生命周期回調(比如, DisposableBean接口或@PreDestroy注解)都能使用。

      此外, 如果beans想在應用結束時返回一個特定的退出碼(exit code),可以實現org.springframework.boot.ExitCodeGenerator接口。

      posted @ 2024-04-07 22:43  代碼匠心  閱讀(498)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲国产精品人人做人人爱| 日本一区二区不卡精品| 久久99国产精品尤物| 亚洲欧洲∨国产一区二区三区| 亚洲欧美日韩高清一区二区三区| 开心五月激情综合久久爱| 亚洲国产成人久久精品不卡 | 野花社区视频www官网| 日韩精品 在线 国产 丝袜| 国产精品爽爽爽一区二区| 免费国产高清在线精品一区| 黑人巨茎大战白人美女| 国产伦一区二区三区久久| 中文字幕人妻无码一夲道| 极品人妻videosss人妻| 日本一区二区三区后入式| 老河口市| 黄色三级亚洲男人的天堂| 国产三级精品三级在专区| a男人的天堂久久a毛片| 亚洲一区二区三区激情在线| 在线播放国产精品亚洲| 国产精品特级毛片一区二区三区| 澄江县| 亚洲国产中文在线有精品| 亚洲成人精品在线伊人网| 亚洲av二区三区在线| 国产999久久高清免费观看| 国产精品三级中文字幕| 97视频精品全国免费观看| 一区二区传媒有限公司| 日韩少妇人妻vs中文字幕| 在线精品另类自拍视频| 国产精品福利一区二区久久| 国产欧美日韩高清在线不卡| 无码福利写真片视频在线播放| 极品无码国模国产在线观看| 综合色天天久久| 精品久久一线二线三线区| 日本乱子人伦在线视频| 国产成人影院一区二区三区|