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得到同样的结果。

 

 

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