从HelloWorld开始的SpringBoot学习之路

​ 其实我是一个Android程序猿,但身为程序猿,怎么能一直等着别人提供接口来喂自己呢,自己能够写出接口,有一天自己为自己提供接口才是王道

What,什么是SpringBoot

​ SpringBoot是一个全新的开发框架,其设计目的是让我们更快捷的搭建Spring项目,在搭建过程中,SpringBoot给我们提供了大量的Starter,简化了我们在配置上的编码,保障了项目的稳定性。

Why,为什么使用SpringBoot作为开发框架

​ 为什么使用SpringBoot,其实也就是SpringBoot的优点:

  • 简单快捷容易上手
  • 快速构建项目
  • 项目可独立运行,无需打包后放到Tomcat等容器(原因是SpringBoot有内置)
  • 提高开发效率,通过与Maven管理的集成能让我们方便快捷的使用第三方库,并且方便管理,可以使用IDE来划分模块
  • ···

How,怎么样构建一个SpringBoot项目

​ 从这里开始我们正式开始了学习SpringBoot的道路,我们编写技术文章的原则是简单明了,切中要害,这里不会介绍Java的基础知识,也不会普及SpringMVC的基础概念,文章围绕项目展开,每篇文章至少介绍一个或几个知识点,以实战的方式来学习项目开发,这是最快的方式,如有基础问题,可从网上或书上查阅资料。学习一门语言最开始的入门项目自然是万年不变的HelloWorld,构建SpringBoot项目的方式有两种,一是从http://start.spring.io 配置生成一个项目,二是使用IDE来构建项目,我想主流的开发方式还是通过IDE来构建,所以这里只介绍通过IDE构建的方式,IDE我们使用Intellij。下面就开始一步一步构建一个SpringBoot版的HelloWorld。

环境配置

  • JDK8
  • Intellij 2017.1 x64
  • SpringBoot 1.5.9.RELEASE
  • maven 3.3.9

开始构建项目

图1

点击选中的Create New Project 来创建一个新的SpringBoot程序

图2
  • 选择左侧菜单栏Spring Initializer
  • 选择Project SDK 1.8,(这里不一定必须选择1.8,SpringBoot最低要求为1.6,我这里使用的是1.8)
图3

点击Next 进行下一步,这里是项目的配置页面,依次配置GroupArtifact 等,Packaging 选择war形式

图4

点击Next 选择SpringBoot的Starter这里需要依次选择左侧Web 和中间Web 这样就添加了Web的依赖,需要注意的是,如果选择War包形式并以Application启动,则需要将pom.xml 中关于tomcat的部分中scope属性注释掉,否则,项目不能正常运行

J0WNSI}32K0)$92S8R(HOT5.png

点击Finish 完成创建,可以看到整个的工程目录,到这里可以说已经完成了HelloWorld项目的一半

0A$98HSWHT74$JX81(R[]U5.png

生成目录的路径和作用:

  • /src/main/java目录,这里是我们编写的代码主要存放的的目录,目前目录下自动生成了两个文件一个是DemoApplication,这个类比较特殊,这是一个全局控制的类,也是一个入口类,另一个是ServerletInitializer,第二个暂时不用管
  • /src/main/resource目录,一看名字我们就能知道这里是存放各类资源的目录,了解Java编程的还会知道,这里同时也可以存放配置文件。
  • /src/main/test目录,这个目录是让我们来存放编写的测试代码的。

生成的文件及其作用:

  • 第一个DemoApplication,这是一个项目的入口类,即项目从哪里启动,里面有一个main方法
  • application.properties,这里是项目的配置类,关于tomcat服务器配置如端口,数据库配置都是在这里完成配置的。
  • pom.xml 这个文件是管理我们所有依赖的,这是maven的管理方式,没有什么需要特别介绍的。

@SpringBootApplication注解

@SpringBootApplication注解是一个重要的概念,这里表明了程序的入口,整个项目中有且仅能有一个类上加这个注解

编写HelloWorldController

我们在 com.yfc这个目录下创建一个类,使用@RestController 来告诉SpringBoot,这是一个访问控制器,SpringBoot会自动扫描,并感知到这样一个类的存在。

接着我们编写一个hello方法,并加上@RequestMapping 注解,并指明拦截路径为“/hello”

@RequestMapping(value="/hello",method = RequestMethod.GET)
public String hello(){
  return "Hello World";
}

运行项目,并尝试访问localhost:8080/hello

这时你会得到一个Hello World的字符串返回,大功告成!是不是很简单

点击我获取代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354