文章目录

  • 一、准备:
  • 二、步骤
  • 三、文件分析
  • 四、创建springboot的入口main方法
  • 五、创建一个controller类
  • 六、发布:
  • 七、总结:


一、准备:

网络:因为我们需要使用idea的插件来创建,为此很多的spring 的jar需要在网络上下载。
idea

二、步骤

1、file——new——project(或者mudole)。选中spring initializr。我们选择默认的初始化下载jar的网址即可。点击next

idea在新建springboot项目中自动新建resources文件夹 springboot idea创建_jar


如下图,配置即可。

idea在新建springboot项目中自动新建resources文件夹 springboot idea创建_maven_02


点击下一步,界面如下图,因为我们这次创建的是一个web项目,为此我们选中如图中的按钮。

idea在新建springboot项目中自动新建resources文件夹 springboot idea创建_maven_03


点击下一步,设置项目名字和存储路径,然后点击finish,到此项目创建成功。

idea在新建springboot项目中自动新建resources文件夹 springboot idea创建_spring boot_04

三、文件分析

创建好后,文件列表如下图:

idea在新建springboot项目中自动新建resources文件夹 springboot idea创建_spring_05

1.(.mvn)目录,是因为我们用idea插件创建的缘故,为自动添加的。这是maven的相关插件,如果本地环境中没有安装maven,则可以使用这个maven的jar 包来创建和打包文件。(可以删除)
2.(src)目录不用赘述,这是我们开发java项目中常见的文件夹。略!
3.(resources)目录中有一个application.properties文件,这是我们使用idea插件创建时自动创建的文件。初始状态为空,这是springboot的专属文件。
4.test目录用来存放测试文件
5.mvmw 文件是在linux下打包运行的maven脚本。
6、mvmw.cmd 文件是在windows 下打包运行的maven脚本
7、pom.xml 中包括了相关的依赖配置。

补充:
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>
    <!--继承springboot的父级依赖-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <!--项目的相关信息-->
    <groupId>com.cjp.springboot</groupId>
    <artifactId>01-springboot-web</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>01-springboot-web</name>
    <description>Demo project for Spring Boot</description>
    <!--属性配置-->
    <properties>
        <!--jdk版本-->
        <java.version>1.8</java.version>
    </properties>
<!--相关的依赖信息-->
    <dependencies>
        <!--springboot开发web项目的起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <!--此依赖不需要写版本号,以为我们上面已经继承了springboot的父级依赖-->
            <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>
            <!--springboot提供的项目打包编译插件-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

四、创建springboot的入口main方法

其实在我们创建项目的时候,项目已经自动帮助我们创建了main方式。路径为:
com.cjp.springboot.Application.java

package com.cjp.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//@SpringBootApplication注解,表示这是springboot程序
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
//        这个方法是启动自己application.class 这个类,这样他就能启动springboot程序,然后启动spring容器,然后启动内嵌的Tomcat
        SpringApplication.run(Application.class, args);
    }

}

五、创建一个controller类

创建controller类后,目录结构如下

idea在新建springboot项目中自动新建resources文件夹 springboot idea创建_spring boot_06


helloController.java 文件代码如下:

package com.cjp.springboot.controller;

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

@Controller
public class HelloController {

    @RequestMapping("/boot/hello")  //请求路径
    public @ResponseBody  String hello(){
        return "hello the world!";
    }
}

创建程序到此已经结束了。下面我们启动一下:

在目录中选中application——右击——“run application”。等待编译完成。编译完成后,显示端口为8080

idea在新建springboot项目中自动新建resources文件夹 springboot idea创建_idea_07


为此,我们可以在浏览器中直接访问localhost:8080/boot/hello,可以查看执行结果。

idea在新建springboot项目中自动新建resources文件夹 springboot idea创建_spring boot_08

六、发布:

项目项目已经完成了,如果需要发布也非常的简单。因为我们已经在pom 文件中引入了

<!--编译-->
    <build>
        <plugins>
            <!--springboot提供的项目打包编译插件,可以将应用打包成一个可执行的jar包-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

我们只需要点击idea中的maven——lifecycle——package。

idea在新建springboot项目中自动新建resources文件夹 springboot idea创建_jar_09


发布完成后,我们可以直接找到存储路径:

idea在新建springboot项目中自动新建resources文件夹 springboot idea创建_spring boot_10


找到jar后,我们可以在命令行窗口执行java -jar spring-boot-01-helloworld-1.0-SNAPSHOT.jar 即可。

启动后,我们可以在浏览器中直接访问localhost:8080/boot/hello,可以查看执行结果。。

七、总结:

1、在这个程序,我们使用到了spring mvc,但是我们并没有注入spring mvc 的配置文件,也不需要在Tomcat中部署,同样不需要引入很多的jar包。这是因为我们在前面的springboot开发web项目的起步依赖中已经自动引入了需要依赖的jar

2、spring boot 的父级依赖spring-boot-starter-parent配置之后,当前项目变成了spring boot 项目

3、spring -boot-starter-parent 是一个特殊的starter依赖,它用来提供相关的maven默认依赖,使用它之后,常用的jar包依赖可以省去version 配置。我们在查看pom.xml 文件发现我们的相关依赖项都是没有填写版本号的。这是因为 springboot的父级依赖是Spring Boot的版本仲裁中心,以后我们导入依赖默认是不需要写版本;(没有在dependencies里面管理的依赖自然需要声明版本号)

4、spring boot 提供了很多的默认的jar 依赖,可以通过查看spring boot 的父级依赖。

5、如果不想使用某个默认的依赖版本,可以通过修改pom .xml 文件属性配置,从而覆盖各个依赖项。比如覆盖spirng 版本。

6、@springbootapplication 注解是springboot项目的核心注解,主要作用的开启springboot的自动配置。

idea在新建springboot项目中自动新建resources文件夹 springboot idea创建_idea_11


7、main 方法是一个标准的java程序的main 方式,主要作用是作为项目的启动入口

8、@controller和@responseBody 依然是我们 之前的spring mvc,因为spring boot 的里面依然使用的是我们的spring mvc + spring + mybatis 框架

9、为什么我们用spring -boot 打成jar后,就不用了tomcat就能启动呢,其实是因为项目中已经默认嵌入了tomcat插件,我们可以打开刚才打包的jar包文件,用压缩包打开:

idea在新建springboot项目中自动新建resources文件夹 springboot idea创建_maven_12


访问:BOOT-INF/lib

idea在新建springboot项目中自动新建resources文件夹 springboot idea创建_maven_13