使用Spring快速創(chuàng)建web應(yīng)用的兩種方式是什么呢,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)臨沭免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。介紹
下面主要介紹如何使用 Spring 開發(fā)一個(gè) Web 應(yīng)用。 我們將研究用 Spring Boot 開發(fā)一個(gè) web 應(yīng)用,并研究用非 Spring Boot 的方法。 我們將主要使用 Java 配置,但還要了解它們的等效的 XML 配置。
使用 Spring Boot
Maven 依賴
首先,我們需要引用 spring-boot-starter-web 依賴:
該依賴包含:
Spring Web 應(yīng)用程序所需的 spring-web 和 spring-webmvc 模塊 Tomcat 容器,這樣我們就可以直接運(yùn)行 Web 應(yīng)用程序,而無需安裝 Tomcat
創(chuàng)建一個(gè)Spring Boot 應(yīng)用程序
使用 Spring Boot 的最直接的方法是創(chuàng)建一個(gè)主類,并添加 @SpringBootApplication 注解:
@SpringBootApplicationpublic class SpringBootRestApplication { public static void main(String[] args) { SpringApplication.run(SpringBootRestApplication.class, args); }}
此單個(gè)注釋等效于使用 @Configuration ,@EnableAutoConfiguration 和 @ComponentScan 。
默認(rèn)情況下,它將掃描本包和它的子包中的所有組件。
接下來,對(duì)于基于 Java 的 Spring Bean 配置,我們需要?jiǎng)?chuàng)建一個(gè)配置類,并使用 @Configuration 注解:
@Configurationpublic class WebConfig { }
該注解是 Spring 主要使用的配置。 它本身使用 @Component 進(jìn)行元注解,這使注解的類成為標(biāo)準(zhǔn) bean,因此也成為組件掃描時(shí)的候選對(duì)象。
讓我們看看使用核心 spring-webmvc 庫的方法。
使用 spring-webmvc
Maven 依賴
首先,我們需要引用 spring-webmvc 依賴:
基于 java 的 Web 配置
@Configuration@EnableWebMvc@ComponentScan(basePackages = "com.qulingfeng.controller")public class WebConfig { }
在這里與 Spring Boot 的方式不同,我們必須顯式定義 @EnableWebMvc 來設(shè)置默認(rèn)的 Spring MVC 配置,而
@ComponentScan 可以指定用于掃描組件的包。
@EnableWebMvc 注解提供了 Spring Web MVC 配置,比如設(shè)置 dispatcher servlet、啟用 @Controller 和 @RequestMapping 注解以及設(shè)置其他默認(rèn)值。
@ComponentScan 配置組件掃描指令,指定要掃描的包。
初始化類
接下來,我們需要添加一個(gè)實(shí)現(xiàn) WebApplicationInitializer 接口的類:
public class AppInitializer implements WebApplicationInitializer { @Override public void onStartup(ServletContext container) throws ServletException { AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); context.scan("com.qulingfeng"); container.addListener(new ContextLoaderListener(context)); ServletRegistration.Dynamic dispatcher = container.addServlet("mvc", new DispatcherServlet(context)); dispatcher.setLoadOnStartup(1); dispatcher.addMapping("/"); }}
在這里,我們使用 AnnotationConfigWebApplicationContext 類創(chuàng)建 Spring 上下文,這意味著我們僅使用基于注釋的配置。 然后,我們指定要掃描組件和配置類的包。
最后,我們定義 Web 應(yīng)用程序的入口點(diǎn) — DispatcherServlet 。
此類可以完全替換 < 3.0 Servlet 版本中的 web.xml 文件。
XML配置
讓我們快速看一下等效的XML web配置:
我們可以用上面的 WebConfig 類替換這個(gè) XML 文件。 要啟動(dòng)應(yīng)用程序,我們可以使用一個(gè)初始化器類來加載 XML 配置或 web.xml 文件。
我們研究了兩種用于開發(fā) Spring Web 應(yīng)用程序的流行方式,一種使用 Spring Boot Web 啟動(dòng)程序,另一種使用核心 spring-webmvc 庫。
關(guān)于使用Spring快速創(chuàng)建web應(yīng)用的兩種方式是什么呢問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。