<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 81.3 將現有的應用轉換為Spring Boot ### 81.3 將現有的應用轉換為Spring Boot 對于一個非web項目,轉換為Spring Boot應用很容易(拋棄創建`ApplicationContext`的代碼,取而代之的是調用`SpringApplication`或`SpringApplicationBuilder`)。Spring MVC web應用通常先創建一個可部署的war應用,然后將它遷移為一個可執行的war或jar,建議閱讀[Getting Started Guide on Converting a jar to a war.](http://spring.io/guides/gs/convert-jar-to-war/)。 通過繼承`SpringBootServletInitializer`創建一個可執行war(比如,在一個名為`Application`的類中),然后添加Spring Boot的`@EnableAutoConfiguration`注解,示例: ``` @Configuration @EnableAutoConfiguration @ComponentScan public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { // Customize the application or call application.sources(...) to add sources // Since our example is itself a @Configuration class we actually don't // need to override this method. return application; } } ``` 記住不管你往`sources`放什么東西,它僅是一個Spring `ApplicationContext`,正常情況下,任何生效的在這里也會起作用。有一些beans你可以先移除,然后讓Spring Boot提供它的默認實現,不過有可能需要先完成一些事情。 靜態資源可以移到classpath根目錄下的`/public`(或`/static`,`/resources`,`/META-INF/resources`)。同樣的方式也適合于`messages.properties`(Spring Boot在classpath根目錄下自動發現這些配置)。 美妙的(Vanilla usage of)Spring `DispatcherServlet`和Spring Security不需要改變。如果你的應用有其他特性,比如使用其他servlets或filters,那你可能需要添加一些配置到你的`Application`上下文中,按以下操作替換`web.xml`的那些元素: - 在容器中安裝一個`Servlet`或`ServletRegistrationBean`類型的`@Bean`,就好像`web.xml`中的`<servlet/>`和`<servlet-mapping/>`。 - 同樣的添加一個`Filter`或`FilterRegistrationBean`類型的`@Bean`(類似于`<filter/>`和`<filter-mapping/>`)。 - 在XML文件中的`ApplicationContext`可以通過`@Import`添加到你的`Application`中。簡單的情況下,大量使用注解配置可以在幾行內定義`@Bean`定義。 一旦war可以使用,我們就通過添加一個main方法到`Application`來讓它可以執行,比如: ``` public static void main(String[] args) { SpringApplication.run(Application.class, args); } ``` 應用可以劃分為多個類別: - 沒有web.xml的Servlet 3.0+應用 - 有web.xml的應用 - 有上下文層次的應用 - 沒有上下文層次的應用 所有這些都可以進行適當的轉化,但每個可能需要稍微不同的技巧。 Servlet 3.0+的應用轉化的相當簡單,如果它們已經使用Spring Servlet 3.0+初始化器輔助類。通常所有來自一個存在的`WebApplicationInitializer`的代碼可以移到一個`SpringBootServletInitializer`中。如果一個存在的應用有多個`ApplicationContext`(比如,如果它使用`AbstractDispatcherServletInitializer`),那你可以將所有上下文源放進一個單一的`SpringApplication`。你遇到的主要難題可能是如果那樣不能工作,那你就要維護上下文層次。參考示例[entry on building a hierarchy](http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-build-an-application-context-hierarchy)。一個存在的包含web相關特性的父上下文通常需要分解,這樣所有的`ServletContextAware`組件都處于子上下文中。 對于還不是Spring應用的應用來說,上面的指南有助于你把應用轉換為一個Spring Boot應用,但你也可以選擇其他方式。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看