【SpringBoot2 从0开始】开发世界著名程序体验 springboot

一、环境

  • Java 8
  • Maven 3.3+
  • idea 2018(个人)

环境要先安装好。

关于 maven 配置

配置本地仓库

官网下载好 zip 包后解压,然后里面新建一个仓库目录 repository

打开 conf 目录下的 配置文件 settings.xml

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

在第 55 行的位置号,配置上你的repository路径。

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

配置阿里云镜像

继续在配置文件里,配置阿里云的镜像。

  <mirrors>
      <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
      </mirror>
  </mirrors>
 
  <profiles>
         <profile>
              <id>jdk-1.8</id>
              <activation>
                <activeByDefault>true</activeByDefault>
                <jdk>1.8</jdk>
              </activation>
              <properties>
                <maven.compiler.source>1.8</maven.compiler.source>
                <maven.compiler.target>1.8</maven.compiler.target>
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
              </properties>
         </profile>
  </profiles>

这里的profiles是指定使用 jdk 1.8进行编译,以防开发中出现一些其他的问题。找个空位置粘贴即可。

二、编写 helloworld

1. idea 设置 maven

打开 idea 的 Settings,把本地的 maven 设置好。

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

2. 创建 maven 项目

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

下一步:

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

点击 finish 结束。

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

3. pom 中导入父工程

打开pom.xml导入。

    <!--导入父工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
    </parent>

4. 添加依赖

之前开发个 web 要导一大堆,现在只要添加一个依赖即可。仍然是在pom.xml中:

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

导入完成后,点开这里的库,会发现该有的都有了。

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

5. 编写代码

(1)主程序类

package com.pingguo.boot;

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

// 标记这是一个 springboot应用,这个类是主程序类,所有启动的入口
@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }
}

(2)controller
接下来就跟以前一样了,写一个控制器:

package com.pingguo.boot.controller;

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

@RestController
public class HelloController {

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

  • @RestController是一个复合注解,表示@Controller + @ResponseBody。这些知识已经在前面springMVC相关内容中学习过了。

6. 运行程序

直接运行上面写好的主运行程序即可。

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

点击运行:

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

就是这么简单。

7. 访问请求

打开浏览器访问http://localhost:8080/hello

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

请求成功。

8. 简化配置

springboot可以最大化简化配置,比如我们可以将未来要使用到的一些配置,全部抽取到一个配置文件里application.properties

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

在这里,可以修改关于tomcat的一些设置、springMVC相关的设置等等,比如修改tomcat端口号:

server.port=8888

重新启动应用:

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

这里具体能写哪些配置,详见官方文档 https://docs.spring.io/spring-boot/docs/current/reference/html/

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

已经安排的明明白白的。

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

9. 简化部署

在之前要部署应用,先得把应用打成 war 包。

现在只要引入一个依赖,就可以直接把项目打成一个可执行的 jar 包,里面包含了运行环境,所以可以直接在目标服务器运行。

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

点击右侧maven里的打包。

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

打包完成。

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

打开左侧目录树 target 的,已经有了 jar 包。

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

现在停止刚才运行的服务,直接用 java 运行这个 jar 包尝试一下:

java -jar boot-01-helloworld-1.0-SNAPSHOT.jar

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

启动成功。

【SpringBoot2 从0开始】开发世界著名程序体验 springboot

上一篇:Django学习笔记-模板


下一篇:《Hadoop MapReduce实战手册》一1.1 简介