01: springboot快速入门之三分钟构建可运行项目

springboot专题预计60讲左右,本篇张第一篇带你三分钟快速构建项目!

一、SpringBoot是什么?

Spring Boot英文中是“引导”的意思,是用来简化Spring应用的搭建到开发的过程。可以这么说。SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。

二、SpringBoot可以做什么?

最明显的特点是,简单快速!让文件配置变的相当简单、让应用部署变的简单),可以快速开启一个Web容器进行开发。

三、本章目标

使用springboot完成一个简单的web(springmvc)应用程序,通过@restController输出"HelloWord"到界面,让我们初步体验springboot的快速开发、简单的特性。目标时间:三分钟。

四、环境要求

  1. jdk1.8
  2. springboot 1.5.2.RELEASE
  3. apache maven(3.3.9,本章采用maven形式管理jar包,具体配置环境变量以及使用请自行查找资料,在这里就不再累赘介绍如何创建一个maven项目了,如果你连maven都不会,建议你先把maven学习了之后再来使用springboot。

五、开始构建项目

通过idea或eclispe创建完成项目之后我们需要在pom.xml中加入如下的配置

<groupId>org.konghao</groupId><artifactId>hello-springboot</artifactId><version>1.0-SNAPSHOT</version><parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.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>

我们的配置就这么结束了!什么?不需要再拷贝其他依赖,配置各种web.xml等等等等?!没错springboot已经搞定一切。看一看我们的依赖包,springboot需要的依赖包都已经加进来了,而且我们都不需要为依赖加任何的版本信息,因为继承了spring-boot-starter-parent,它已经会自动帮助我们选择最理想的版本。一切都变得简单了。

六、项目目录结构

我们来看看工具为我们生成新工程的目录结构,如图所示:我们可以看到目录结构有如下几个:

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

自动生成的文件解释 LessonOneApplication 该类是程序的入口类内有个main方法,可以直接通过run as运行项目 application.properties 该配置文件是项目的核心配置文件,以xx.xx.xx的形式存在 pom.xml maven配置文件,因为我们采用的maven管理jar,所以这里会自动生成一个pom文件

@SpringBootApplication注解 我们可以看到工具为我们自动生成的入口程序是有@SpringBootApplication的这么一个注解,那它主要是做什么的呢?不难看出,它是声明当前类为sprinboot的入口类。而一个springboot项目内有且只能有一个这个注解存在。

七、初尝试运行项目

我们在入口程序类中右键->Run LessonOneApplication在控制台的输出如下图所示,证明你已经成功的运行了springboot项目。

可以看到我们的项目是通过内置的tomcat容器启动的,并且端口号默认是8080(至于如何修改端口号后期文章中更新)。我们现在通过浏览器直接访问是得不到任何回应的,只是会有一个错误页面,如下图所示

编写HelloWordController

我们首先在/src/main/java/com/yuqiyu (该目录是你构建项目的目录) 目录下创建一个叫做lessonOne的package,然后在lessonOne下再创建一个叫做controller的package,最后我们在controller包下创建一个HelloWordController.java 类文件,我们使用@RestController来声明我们新创建的HelloWordController是一个访问控制器,如下图所示:

可以看到我配置了一个@RequestMapping注解来声明index()方法可以通过127.0.0.1:8080/index访问到,那么我们接下来重新启动项目(项目中如果重启出错应该是注解配置问题),访问地址如下图11所示:

可以看到我们输出了”HelloWord“!自此我们这章的讲解就完成了。


原文发布于微信公众号 - java进阶架构师(java_jiagoushi)

原文发表时间:2018-07-04

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端真相

webpack、npm 错误汇总

原因: 版本10 fs.promises的API是实验性的,webstorm不允许使用。

3317
来自专栏漏斗社区

Java代码审计入门篇

Java这个语言相对于PHP来说还是比较复杂的,所以一开始接触到Java源码审计的时候会遇到一些关于环境和配置上一些困难,本文记录斗哥在开始去审计Java代码的...

2193

如何自动地将代码从Git平台部署至组件容器

将源代码从Git平台部署至组件容器有很多种可以选择的方法,包括重新部署整个容器,通过卷即时重新部署,或者使用“git clone”的方法。但是,当这个过程自动化...

2379
来自专栏网络

换换Cygwin的Terminal吧

17年最后一篇技术相关帖来介绍一下使用secureCRT等工具连接cygwin吧。 cygwin可以说是一个很好的在Windows上迅速模拟和学习Unix/Li...

2207
来自专栏崔庆才的专栏

一言不合就改成 777 权限?会出人命的!

最近和几个朋友开发项目,期间使用了一台服务器跑模型,这台服务器是多人公用的,很多人都在上面有自己的账号,互不干涉内政,一切看起来十分井然有序。

5323
来自专栏小狼的世界

Fedora下Zend Studio 6.1.2 的配置

Zend Studio是我们PHPer的一个非常的得力的工具,有了他往往能够让我们的工作事倍功半,今天就来记录一下日常使用中非常有用的配置,来帮助更多的PHPe...

942
来自专栏Seebug漏洞平台

GNU tar 解压路径绕过漏洞(CVE-2016-6321) 分析

Author: LG (知道创宇404安全实验室) 漏洞简介 GNU tar文档管理命令是linux系统下常用的一个打包、压缩的命令。经CSS(FSC1V Cy...

3756
来自专栏Fish

安装IDEA和运行SCALA程序

下载与配置IDEA 从官网下载 里面有Ultimate(最终版)和Community(社区版),对于普通的开发者来说,社区版就够了,然后因为我本来配置了JDK...

3749
来自专栏云原生架构实践

JHipster生成微服务架构的应用栈(二)- 认证微服务示例

这里选择JHipster UAA server,这是一种基于OAuth认证机制的微服务。

2284
来自专栏哈雷彗星撞地球

Mac下Jenkins+SVN+Xcode构建持续导出环境1 安装Jenkins2 安装Jenkins插件3 Xcode以及开发证书设置4 配置构建项目

每一次新版本要发布,都被测试部门催成狗,测试部也耐不住了,想自己打包,研发只管提交代码,听到这个消息,还是很开心的,终于不用打包了。跟同事折腾Jenkins三天...

822

扫码关注云+社区

领取腾讯云代金券