第一章:用一个HelloWord来阐述SpringBoot的简单与快速简介 本章目的系统要求开始构建项目项目目录结构初尝试运行项目编写HelloWordController总结

简介

spring框架盛行了多年的java方向开发人员来说,每个人java开发已经把spring框架当做开发中不可或缺的一部分。之前传统的模式都是以applicationContext.xml配置文件的形式存在,而对应大多数入门级开发人员来说配置出现一点纰漏就会导致运行失败或者更大的问题,因此会浪费开发人员很多宝贵的时间,对公司来说也是有所损失。那么spring开源组织很早之前就意识到这种问题的存在,于是他们便对spring框架的全系列组件进行了内部封装。对外只是提供maven(jar管理、项目打包工具)或者gradle(新兴jar管理、项目打包工具)的形式来进行引入parent.pom(maven配置文件)或者parent.gradle(gradle配置文件),让每一个spring项目都是以spring的子项目的形式来运行,这样开发人员不用再去注重配置文件的繁琐而是把精力放到业务逻辑以及更深层次的架构方面。自此SpringBoot就诞生了,它有着纯正的开源血统,在此非常感谢spring开源组织给我们java开发人员带来的便利!

SpringBoot主要优点:

1. 为所有Spring开发者更快的入门 2. 开箱即用,提供各种默认配置来简化项目配置 3. 内嵌式容器简化Web项目 4. 没有冗余代码生成和XML配置的要求 5. 提供一系列大型企业级项目的功能性特性(比如:安全、健康检测、外部化配置、数据库访问、restful搭建等很多特性这里就不一一叙说了,后期文章会陆续更新)

本章目的

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

系统要求

1. jdk1.8 2. springboot 1.5.2.RELEASE 3. 开发工具(IntelliJ IDEA 2017.1.1) 4. 数据库管理工具(Navicat Premium 11.1.7) 5. 文本管理工具(sublime text 3) 6. apache maven(3.3.9,本章采用maven形式管理jar包,具体配置环境变量以及使用请自行查找资料)

开始构建项目

目前构建项目有多种方式我这里简单介绍两种。 1、使用spring官网 SPRING INITIALIZR 来构建项目结构(地址:http://start.spring.io/) 2、使用IntelliJ IDEA开发工具来构建项目结构

使用SPRING INITIALIZR构建

访问start.spring.io/网址就会看到如下 “图1” 界面: 界面主要部分包括:管理工具,springboot版本,包名(group),工程名(Artifact),已选模块(我已经选择了一个web模块)。

图1

点击Generate Project就会下载一个根据你输入的信息创建的项目工程架构源码的压缩包。 解压压缩包到指定目录(目录你可以随意定义)我这里为了后续操作先定义到E:/lessions内可以看到如下“图2”所示:

图2

解压完成之后我们就可以通过IntelliJ IDEA开发工具导入到工程, 1. 菜单中选择File–>New–>Project from Existing Sources... 2. 选择解压后的项目文件夹,点击OK 3. 点击Import project from external model并选择Maven,点击Next到底为止。 4. 若你的环境有多个版本的JDK,注意到选择Java SDK的时候请选择系统安装1.8版本

使用IntelliJ IDEA构建

打开工具,界面如下 “图3” 所示:

图3

我们点击Create New Project来创建一个新的springboot应用程序,点击后如下“图4”所示:

图4

我们点击Next继续下一步操作,根据界面输入选项填写对应的内容即可如“图5”所示:

图5

点击Next即可完成创建项目,而且创建完成后会自动导入到项目工程内就不需要再次import操作,这种方式会比较简单些,所以我们的文章内都会采用第二种形式来创建新工程。

在下一步我们勾选Web依赖加入到我们的项目中,如下图所示:

下图

这里注意一点的是,如果上面我们选择了war形式,也添加了Web依赖并且在开发过程中使用Application形式启动,则需要注释pom.xml配置文件内tomcat依赖的scope属性。

项目目录结构

我们来看看工具为我们生成新工程的目录结构,如”图6“所示:

图6

我们可以看到目录结构有如下几个:

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项目内有且只能有一个这个注解存在。

图7

初尝试运行项目

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

图8

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

图9

编写HelloWordController

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

图10

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

图11

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

源码地址

本章以及后续章节的源码地址我都会分享出来,请大家自行下载以及git clone。

SpringBoot配套源码地址:https://gitee.com/hengboy/spring-boot-chapter

SpringCloud配套源码地址:https://gitee.com/hengboy/spring-cloud-chapter

SpringBoot相关系列文章请访问:目录:SpringBoot学习目录

QueryDSL相关系列文章请访问:QueryDSL通用查询框架学习目录

SpringDataJPA相关系列文章请访问:目录:SpringDataJPA学习目录

SpringBoot相关文章请访问:目录:SpringBoot学习目录,感谢阅读!

总结

本章主要通过springboot简单特性来完成了第一个"HelloWord"web应用程序的搭建,我们可以看出springboot已经在项目搭建一个项目整合组件方面很成熟,推荐大家在日后的项目中使用该框架,可以有效的提高团队开发效率以及缩短开发人员上手周期因。本人是第一次书写文章,还请大家多多包涵,如果有什么改进指教的地方还请指出,非常感谢!

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏晨星先生的自留地

django(1)初次见面-我叫姜哥

1315
来自专栏建站达人秀

如何搭建 Express 网站

Express 是一种保持最低程度规模的灵活 Node.js Web 应用程序框架,为 Web 和移动应用程序提供一组强大的功能。nenggou 使用您提议的各...

952
来自专栏达观数据

干货分享丨达观数据基于webpack实现web工程

01 引言 随着互联网前端技术的发展,在前端工程愈发复杂多变的今天,模块化已经变成了前端从业者津津乐道的话题,各种模块化工具层出不穷。seajs, requi...

33911
来自专栏王大锤

升级xcode7.0 第三方库不能用的解决方法(bitcode是什么鬼?)

2657
来自专栏java一日一条

Maven 扫盲(下)

第一篇文章大概的介绍了一下Apache Maven以及它的下载和安装,并且运行了一个简单的示例。那么在对maven有了一点接触后,接下去的一步是要了解maven...

462
来自专栏SpringSpace.cn

基于Spring Boot 2.0 及MongoDB 3.6.2 实现的简单文件共享服务器 顶

近期研究学习Spring Boot 2.0及MongoDB期间,尝试用Reactive模式实现了一个简单的文件共享服务器,可用于家庭及小型组织内部的文件共享,目...

892
来自专栏java一日一条

Maven 扫盲(下)

第一篇文章大概的介绍了一下Apache Maven以及它的下载和安装,并且运行了一个简单的示例。那么在对maven有了一点接触后,接下去的一步是要了解maven...

381
来自专栏HTML5学堂

Gulp 定制专属提速“外挂”(下)

友情提示:推荐阅读时间10分钟 + 练习时间10分钟 上一期给大家分享了Gulp插件的安装与使用,只要掌握了Gulp插件安装的流程与配置,对于其他Gulp插件的...

2928
来自专栏丑胖侠

Intellij Database配置全局数据源

Intellij中的Database支持了市面上大多数的数据源客户端,通过它可以直接在intellij项目中进行数据库相关的操作,整体操作风格也比较简单统一,使...

18410
来自专栏FreeBuf

Firefox新增安全机制:附加组件签名机制

根据Net MarketShare的数据显示,2016年8月份Firefox浏览器占全球市场份额7.69%,仅次于Chrome和IE,排名第三。可见,Firef...

1925

扫码关注云+社区