【SpringBoot系列01】初识SpringBoot一、介绍二、目标三、实现四、总结

一、介绍

想必大家都一定用过spring框架,每次整合spring框架的时候总是会有无穷无尽的xml配置文件,第一次写配置文件的时候,大家还会抱着学习的心态认真读每一个配置,但是当我们每次在构建项目都要写同样的配置文件大家应该会觉得厌烦,尽管只是复制粘贴。那么现在你就不用担心了,使用springboot让你更简单的构建spring应用。

springboot让我们更加简单快速的构建spring应用,并且内置web容器(tomcat、jetty等)支持jar包的方式启动一个web应用。

SpringBoot主要优点:

    1. 为所有Spring开发者更快的入门
    1. 开箱即用,提供各种默认配置来简化项目配置
    1. 内嵌式容器简化Web项目
    1. 没有冗余代码生成和XML配置的要求

二、目标

本节主要目标是通过构建一个简单的SpringBoot项目,实现一个hello word接口。通过这样一个简单的例子让我们对springboot有一个了解。

三、实现

3.1、环境

  • java8 及以上
  • SpringBoot 2.0.4

3.2 构建项目

3.2.1 spring官网 SPRING INITIALIZR

1、访问 http://start.spring.io/

2、选择maven构建、使用java语法、并且SpringBoot版本为2.0.4

具体如图:

image.png

3、点击Generate Project 下载构建成功的项目压缩包

解压完成之后我们就可以通过IntelliJ IDEA开发工具导入到工程,

    1. 菜单中选择File–>New–>Project from Existing Sources...
    1. 选择解压后的项目文件夹,点击OK
    1. 点击Import project from external model并选择Maven,点击Next到底为止。
    1. 如果你的环境有多个版本的JDK,注意到选择Java SDK的时候请选择系统安装1.8版本

3.2.2 使用idea构建

1、打开idea选择new -> project -> SPRING INITIALIZR

idea构建

2、在ProjectSDK选择jdk8 3、点击next 输入gourpId artifactId 然后继续next 一直到完成就可以

image.png

其实大家看的出来,两种方式都是一样的,只不过用idea省去了我们手动下载介绍并且导入的步骤,稍显方便。

3.2.3、项目结构

image.png

关键目录解释

  • 1、/src/main/java/ 存放项目所有源代码目录
  • 2、/src/main/resources/ 存放项目所有资源文件以及配置文件目录
  • 3、/src/test/ 存放测试代码目录

其中生成的Chapter1Application和Chapter1ApplicationTests类都可以直接运行来启动当前创建的项目。

3.3、添加web模块

打开pom.xml 添加spring-boot-starter-web 即可

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

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

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

3.4、编写hello world服务

src/main/java目录下的chapter1包下新建一个HelloWorldController.java文件

@RestController
@RequestMapping("/hello")
public class HelloWorldController {

    @GetMapping
    public String hello() {
        return "hello world";
    }
}

其中

  • @RequestController是一个复合注解 ,大家按住ctrl看源码会发现 @RequestController = @Controller +@ResponseBody 那么它的作用就不言而喻了,代表当前类是一个控制器并且返回所有的方法将会返回json数据

3.5 、启动

双击打开Chapter1Application文件启动。

image.png

从图中可以看出日志打印启动tomcat服务的端口是8080 ,代表启动成功。

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

image.png

那么有时候我们的8080端口被占用了,那么就会启动失败,提示端口被占用,如何改变springboot启动的默认端口呢?

打开application.yml 这时候大家就会问了 不是application.properties吗 其实yml文件也是配置文件的一种,它的书写简洁,我比较喜欢。

yml写法

server:
  port: 9090

properties写法

server.port=9090

上面的代码就是设置web服务启动的端口了。

四、总结

通过这次学习,我们了解了springboot如何启动一个web服务,并且如何更改web服务启动的默认端口。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Bacula备份LAMP服务器

启动并运行应用程序服务器后,下一个重要步骤就是设置备份系统。备份系统允许您创建数据的定期备份副本,并从这些备份中还原数据。由于用户错误或任何计算机系统容易出现的...

1173
来自专栏为数不多的Android技巧

把Sublime添加到Mac右键菜单

虽然大部分的时候是使用命令行,但是有些时候我们需要在Finder里面编辑某些文件的时候,如果还是拘泥于这样,就必须打开 iTerm (幸好有Profile可以一...

5731
来自专栏逸鹏说道

Hyper-V无法文件拖拽解决方案~~~这次用一个取巧的方法架设一个FTP来访问某个磁盘,并方便的读写文件

异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 服务器相关的知识点:http://www...

40813
来自专栏JadePeng的技术博客

Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境

本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建、发布到仓库\并部署上线。 0. 前置条件 服...

5875
来自专栏吴柯的运维笔记

实例:Jenkins构建项目参数设置教程

“ 老板: 你会Jenkins? 我会。 先加薪两千吧。 ” ---《吴柯的运维笔记》 01 项目构建 Jenkins系统管理 --点击系统管理-->进入管...

5908
来自专栏运维咖啡吧

记一次诡异的故障排查经历

管理员通过Jenkins调用“发布程序(代号varian,以下简称varian)”,发布程序会进行一系列的初始化操作,完成后生成Docker镜像上传到Docke...

912
来自专栏Youngxj

Emlog自动为文章标签添加该标签的链接

1524
来自专栏Vamei实验室

Java网络01 Tomcat初次尝试

Tomcat是一套开源软件,它由Apache Software Foundation(ASF)开发,用于实现Java Servlet和JavaServer Pa...

2079
来自专栏向治洪

在Windows下搭建React Native Android开发环境

安装JDK 从Java官网下载JDK并安装。请注意选择x86还是x64版本。 推荐将JDK的bin目录加入系统PATH环境变量。 安装Android S...

2706
来自专栏LeoXu的博客

解决问题“Parsing Data for android-23 failed Unsupported major.minor version 51.0”

我是在 Eclipse 里面把 Android 工程中 project.properties 配置文件的 target 配置从 android-15 改成了 a...

1072

扫码关注云+社区

领取腾讯云代金券