基于Idea 使用spring boot创建简单的web应用

时间:2022-05-09 09:37:41

介绍

相信许多熟悉spring的小伙伴都经受过spring配置的摧残,尤其对于初学者来说,简直是一脸懵逼的状态。而spring boot 的出现,对于使用spring的童鞋们无疑是一种福音。下面就让我们一起开始spring boot 的体验之旅吧!


IDEA构建项目

新建Spring Initalizr 项目
基于Idea 使用spring boot创建简单的web应用
点击next(注意包名小写)
基于Idea 使用spring boot创建简单的web应用
然后选择web工程
基于Idea 使用spring boot创建简单的web应用
点击finish,即可完成项目构建
基于Idea 使用spring boot创建简单的web应用
当所有的依赖包下载完成之后,大概是这个样子
基于Idea 使用spring boot创建简单的web应用

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

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

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

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

和spring boot 说句hello world 吧

创建DemoController

package com.example.demo;

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

/** * Created by pengq on 2018/5/27 13:20 * Description: */
@RestController
public class DemoController {
    @RequestMapping(name = "/hello",method = RequestMethod.GET)
    public String test(){
        return "hello world";
    }
}

启动spring boot 的启动类DemoApplication

package com.example.demo;

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

@SpringBootApplication
public class DemoApplication {

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

观察控制台,会打印出如下log:

Starting DemoApplication on DESKTOP-OLPDM22 with PID 12156 (C:\Users\pengq\Documents\demo\target\classes started by pengq in C:\Users\pengq\Documents\demo)
2018-05-27 13:23:03.289  INFO 12156 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to default profiles: default
2018-05-27 13:23:03.425  INFO 12156 --- [           main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5a955565: startup date [Sun May 27 13:23:03 CST 2018]; root of context hierarchy
2018-05-27 13:23:05.349  INFO 12156 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2018-05-27 13:23:05.411  INFO 12156 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2018-05-27 13:23:05.412  INFO 12156 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.31

我们发现spring boot 内置的Tomcat 访问端口为8080,启动成功后打开浏览器访问http://localhost:8080/hello,如图:
基于Idea 使用spring boot创建简单的web应用

到此,我们的一个简单的web项目已经构建成功,是不是很方便呢?熟悉spring 的小伙伴们可能会有疑问。为什么不是熟悉的@Controller却变成了@RestController?不用着急,我们下节会说到。

spring boot 的特点

  1. 快速创建独立的Spring应用程序。
  2. 嵌入的Tomcat,不需要部署war文件。
  3. 简化了Maven的配置。
  4. 开箱即用,没有代码生成、也不需要XML的配置。
  5. 是微服务的入门级框架,SpringBoot是SpringCloud的基础。

由于本人也是刚刚开始学习,可能会有些地方不够严谨,欢迎大家指出,谢谢。