第一章:用一个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 条评论
登录 后参与评论

相关文章

来自专栏魏艾斯博客www.vpsss.net

一款 windows 英文面板-Winginx 安装和配置过程

当下 windows 服务器的使用数量还是不少的,为了在网站上线之前测试程序可用性,很多人会在本地 windows 系统中安装使用 windows 面板来搭建 ...

18220
来自专栏PHP技术大全

快速找出网站中可能存在的XSS漏洞实践(一)

笔者最近在慕课录制了一套XSS跨站漏洞 加强Web安全视频教程,课程当中有讲到XSS的挖掘方式,所以在录制课程之前需要做大量实践案例,最近视频已经录制完成,准备...

19150
来自专栏Android先生

20分钟教你使用hexo搭建github博客

备注:该教程基于Hexo 2.x版本,目前Hexo是3.x版本,照本教程实现有可能会出现404错误,笔者目前还未找时间去解决,待笔者找时间解决该问题后,再写一篇...

13620
来自专栏云计算教程系列

如何使用CentOS 7上的TICK堆栈监控系统指标

TICK堆栈是来自时间序列数据库InfluxDB的开发人员的产品集合。它由以下组件组成:

34650
来自专栏随心DevOps

你可能不知道的 Django Rest Framework 的两个新特性

前端、甚至大前端发展如此火爆的 2017 年(我相信 2018 年一样)刚过去,像 MVC 架构那样直接使用后端模板渲染前端页面的方式已经不被推崇了(当然有些场...

40380
来自专栏小文博客

Vultr忘记密码找回及重置方式

今天有朋友向我求助,说是vultr服务器密码忘记了。博主到处搜罗,找到一下几种方法。不仅是vultr,其他服务器也适用

1.3K110
来自专栏张戈的专栏

解决Nginx Helper插件一键清理缓存功能导致网站打不开问题

5 月份,张戈博客分享了一篇《Nginx 开启 fastcgi_cache 缓存加速,支持 html 伪静态页面》的文章。文中也提到了 WordPress 有一...

44790
来自专栏向治洪

Android 配置Freeline教程

Freeline简介 Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队15年10月在Android平台上的量身定做的一个基于动态替换的编译方案,5月阿里...

303100
来自专栏小文博客

Vultr忘记密码找回及重置方式

78250
来自专栏全华班

工作流学习-使用eclipse流程开发

阅读文本大概需要 5 分钟。 我们前文中介绍了Activiti,知道它是目前市面上比较流行的工作流框架。同时也简单指导大家从头开始搭建一下Activit...

41440

扫码关注云+社区

领取腾讯云代金券