前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot 2.x 入门:构建第一个Web应用程序

Spring Boot 2.x 入门:构建第一个Web应用程序

作者头像
KenTalk
发布2020-06-01 10:40:44
6260
发布2020-06-01 10:40:44
举报
文章被收录于专栏:Ken的杂谈Ken的杂谈

一、前言

1、本文主要内容

  • 使用Maven-quickstart模板创建项目
  • 修改pom.xml文件引入SpringBoot以及Spring MVC
  • 通过Spring Boot输出helloworld
  • 通过 start.spring.io 初始化Spring Boot项目

2、本教程环境信息

软件/环境

说明

操作系统

Windows 10

JDK

11.0.x

Spring Boot

2.3.0.RELEASE

IDE

IntelliJ IDEA 2019

浏览器

Chrome 80+

3、前置知识

你可能需要的前置知识/准备工作

  • Java语法学习

https://www.runoob.com/java/java-basic-syntax.html

  • Java开发环境配置

https://ken.io/serie/java-quickstart

  • Spring Boot介绍

https://baike.baidu.com/item/Spring%20Boot/20249767 https://spring.io/projects/spring-boot

二、构建项目

1、创建项目

使用Maven模板创建项目

idea-new-project-maven-quickstart
idea-new-project-maven-quickstart

项目模板:maven-archetype-quickstart GroupId:io.ken.springboot.tutorial ArtifactId:helloworld

2、修改pom.xml

  • 增加parent节点引入springboot
  • 在dependecy节点中引入pring-boot-starter-web依赖以引入Spring MVC
  • 修改maven.compiler指定JDK11
代码语言:javascript
复制
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.0.RELEASE</version>
    <relativePath/>
  </parent>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
  </properties>

  <dependencies>

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

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

Ctrl + 鼠标左键点击 groupId/artifactId 可以查看引用的Packge的依赖等信息

3、配置应用程序入口

修改 io.ken.springboot.tutorial.App

  • 增加@SpringBootApplication 注解
  • 以SpringApplication启动
代码语言:javascript
复制
package io.ken.springboot.tutorial;

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

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

4、创建HomeController

  • 创建package:io.ken.springboot.tutorial.controller
  • 创建控制器Class:HomeController
代码语言:javascript
复制
package io.ken.springboot.tutorial.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HomeController {

    @RequestMapping("/")
    @ResponseBody
    String index() {
        return "Hello World! - ken.io";
    }
}

5、启动配置

菜单:Run->Edit Configurations

idea-project-run-configurations
idea-project-run-configurations

选择 Edit Configurations后会进入启动配置管理

idea-project-run-configurations-add
idea-project-run-configurations-add

点击+号,选择Spring Boot模板,即可创建Spring 应用的启动配置

idea-project-run-configurations-config
idea-project-run-configurations-config

选择启动类(Main class),输入配置名称,点击OK即可完成启动配置

6、输出Hello World

启动项目

使用快捷键Shift+F10启动即可 (或者在启动类App编辑区域,使用右键菜单->Run “App”启动)

控制台输出片段:

代码语言:javascript
复制
[main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
[main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
[main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.31]
[main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
[main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 905 ms
[main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
[main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
[main] io.ken.springboot.tutorial.App           : Started App in 1.535 seconds (JVM running for 3.263)

从输出的信息可以看出,Spring Boot也是跑在Tomcat中的,关键是本机不用安装也不用做任何Tomcat的配置。就可以跑起来。这一点就很爽了。想知道Spring Boot还依赖了那些组件,在Pom.xml文件中Ctrl+鼠标单击org.springframework.boot即可

访问测试

项目启动后,访问 http://localhost:8080

springboot-helloworld
springboot-helloworld

更换端口运行

  • 新建文件夹:/src/main/resources
  • 使用右键菜单Mark Directory AS->Resources Root,将resources目录设置为配置根目录

在resources目录中新建配置文件application.properties

代码语言:javascript
复制
#监听端口
server.port=8081

项目启动后,访问 http://localhost:8081,即可

三、备注

Spring注解说明

注解

ken.io的说明

@SpringBootApplication

等价于使用@Configuration, @EnableAutoConfiguration 和 @ComponentScan默认属性的情况。

@Controller

用于定义控制器类

@RestController

等价于@ResponseBody和@Controller

@RequestMapping

用于定义路由,也就是Url与Controller方法的映射

@ResponseBody

表示将结果直接填充到HTTP的响应体中,用于构建API

@EnableAutoConfiguration

将根据添加的jar依赖自动配置Spring,比如我们的应用依赖于spring-boot-starter-web,而它又依赖Tomcat和Spring MVC,有了这个注解,Spring boot将自动进行相关配置

@ComponentScan

表示将该类自动扫描并注册为Bean

@Configuration

用于定义配置文件类,可以将配置类替换xml配置

快速初始化项目

Spring官方提供了快速初始化项目的工具:https://start.spring.io/ 可以在线选择Spring Boot版本,设置Project Matadata,选择项目依赖,然后点击Generate按钮下载

start.spring.io
start.spring.io

附录

  • 本文代码示例

https://github.com/ken-io/springboot-tutorial-2.x/tree/master/chapter-01-01


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
    • 1、本文主要内容
      • 2、本教程环境信息
        • 3、前置知识
        • 二、构建项目
          • 1、创建项目
            • 2、修改pom.xml
              • 3、配置应用程序入口
                • 4、创建HomeController
                  • 5、启动配置
                    • 6、输出Hello World
                    • 三、备注
                      • Spring注解说明
                        • 快速初始化项目
                          • 附录
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档