IDEA搭建Springboot-Helloworld應用

網上已有非常多的spingboot項目的教程,基本上都是通過Spring Initializr構建出完整的Springboot應用,但是我覺得對於入門者來說,還是希望從最簡單方式來搭建helloworld,以便更好地理解SpringBoot的一些原理,本文我就以jar包的形式,通過IDEA工具完成一個最簡單的Helloworld應用。

環境準備

JDK:1.8及以上

IDE:IDEA

maven:3.3及以上

Springboot:2.3.4

環境的配置以及檢驗這裏就不多說了,不熟悉話可以自行百度

搭建過程

1、IDEA選擇File --> new-->project

選擇maven,配置好應用的JDK版本

2、點擊Next進入下一步

填寫項目名稱,指定工程存放位置,以及其他信息,直接finish

3、項目的依賴配置

在創建後的工程目錄如下:

注意:新工程創建好之後,首選要做的是要配置工程的maven,比如指定maven路徑以及倉庫配置等,否則IDEA默認會指定,有時候會導致你pom依賴報紅。

在將maven配置後,如果pom依賴還有報紅的情況,可以在Terminal中執行mvn package將所需的組件進行下載即可 

接下來我們要做的是將應用所依賴的配置完成,在pom.xml文件中添加

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
</parent>

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
 </dependencies>

然後需要編寫應用的主程序入口

在java的目錄下,新建名爲com的包,報名自取即可,新建Application類

代碼如下:

package com;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

注意:如果在加入@SpringBootApplication註解的時候報紅,首先可以在報紅的提示信息中增加maven的依賴配置,pom文件中自動增加org.springframework.boot的依賴配置

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
            <version>2.3.4.RELEASE</version>
</dependency>

此時,如果還出現報紅的話,選中file-->Invalidate Caches/Restart,選擇Invalidate and Restart操作,清除緩存和重啓後一般就不報紅了。

main方法中的SpringApplication.run(Application.class, args);爲應用的啓動程序。

至此,最簡單的SpringBoot的最簡單的搭建就完成了,那麼如何讓這個應用實現helloworld?

我們可以在創建的com的包下創建controller包,新建HelloController類

package com.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloWorldController {

    @RequestMapping("/hello")
    public String hello() {
        return "hello world";
    }
}

然後我們回到Application中,右鍵run 'Application'啓動應用,在打印臺上我們可以看到啓動信息:

2020-12-17 15:04:50.781  INFO 21880 --- [           main] com.Application                         : Starting Application on xxxxx with PID 21880 (F:\SpringbootHello\target\classes started by xxx in F:\SpringbootHello)
2020-12-17 15:04:50.783  INFO 21880 --- [           main] com.Application                          : The following profiles are active: dev
2020-12-17 15:04:52.810  INFO 21880 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2020-12-17 15:04:52.817  INFO 21880 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-12-17 15:04:52.817  INFO 21880 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.38]
2020-12-17 15:04:52.898  INFO 21880 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-12-17 15:04:52.898  INFO 21880 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2082 ms
2020-12-17 15:04:53.005  INFO 21880 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-12-17 15:04:53.117  INFO 21880 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-12-17 15:04:53.124  INFO 21880 --- [           main] com.Application                          : Started Application in 2.628 seconds (JVM running for 3.227)
2020-12-17 15:05:52.668  INFO 21880 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-12-17 15:05:52.668  INFO 21880 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2020-12-17 15:05:52.671  INFO 21880 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 3 ms

提示tomcat在8080端口上啓動成功,我們可以在瀏覽器上直接訪問,http://localhost:8080/hello,隨機就可以看到hello world的信息。

此外,這種方式還可以直接打成jar包,我們可以選擇IDEA最左下角的圖標,在有邊框會有Maven的選項,選擇Lifecycle中的package執行,就會在工程目錄下生成jar包,進入到jar包目錄下,在cmd中執行java -jar xx(jar包名),則同樣可以將應用啓動,在瀏覽器中訪問http://localhost:8080/hello得到同樣的結果。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章