SpirngBoot基础系列教程一

从今天开始分享一些SpringBoot的一些教程,先从基础的开始,抛砖引玉。网上有很多文章写的很好,但是有很多文章所依赖的boot版本跟最新的2.0+版本的boot多少有些出入,即使知道了2.0的新特性,写起代码坑还是蛮多的(FK,连官网API有的地方都是旧的)。所以今后会陆续写一些基于2.0+版本的boot文章,带新人出坑。所以同学们,这里先说明一下,学习本系列文章的时候,先把环境调整为一致。

该教程内容不定时更新,如您对这些内容感兴趣,可以关注我!沟通联系邮箱:149802359@qq.com

再啰嗦一句,这是一路走来的学习经验,如果您看本人文章或者其它人文章的时候,一定要弄明白,你写代码时候依赖的环境是否和对方一致。如果一致,你可以照着作者的代码来尝试。如果不一样,弄明白思路才最重要,因为如果照着写,可能就要做好入坑的心里准备。

环境说明

日期:20180228
Ecplise:Oxygen.3a (4.7.3a) 下载地址:https://www.eclipse.org/downl...
SpringBoot:2.0.1.RELEASE
STS:STS 3.9.4.RELEASE 下载链接:https://spring.io/tools/sts/all
JDK:8.0+都可以

EcpliseOxygen:下载完成后,需要安装Maven插件以及STS,Maven就不说了,接下来会说说怎么安装STS。装STS之前,可以先把Ecilpse的主题模式调整一下,不然眼睛不输入。调整完以后就可以像我这样风格。
SpringBoot:这个可以不用下载,等会儿直接配置到maven里,下文都用简称boot
STS:全称Spring Tool Suit,提供SpringFrameWork,需要装到开发工具里进行快速搭建。Eclipse有两种安装方式,一种是从上文链接下载后进行安装,具体可以查询怎么装网上资料很多。第二种方式是可以直接到Eclipse的商店进行安装,如图:

clipboard.png

搭建你的第一个基于SpringBoot的Hallow Word!(FTHW)

  • 构建SpringBoot

方式一:直接从Spring官网构建SpringBoot环境
地址(记住这个地址):http://start.spring.io/
打开以后界面如下,我分别说:

clipboard.png

1:选择项目类型,我们是Maven的JAVA的,SB2.0.1的
2:公司名称,也就是一部分包路径
3:项目名称。本文用到的项目名是:springbootlearn
4:项目依赖。比如我们是Web项目,就需要用到Web相关的一些jar包,那么就在这里输入Web,在打开的下拉列表中选择Web,如果需要用到JPA,Redis,JDBCTemplate,MyBatis等,也可以直接在这里构建,他会帮你把Maven一并配置好,现在我们暂时不需要那么多,现在只需要Web。
5:直接给你生成一个Maven项目,可以直接导入Eclipse,然后坐等Eclipse把jar包下载完毕。

方式二:用Eclipse构建SpringBoot环境
在Eclipse界面:File-->NEW-->Other-->SpringBoot-->Spring Starter Project-->next

clipboard.png

这个界面有没有对一些地方比较熟悉?
要注意的是,name和Artifact一致,写一下你的具体业务模块包路径package,然后next

clipboard.png

选择boot版本,选择需要的Web包。可以从下边的下拉框里边找到Web包,也可以直接在输入框里输入web搜索。添加以后,next,然后确定。

然后坐等Eclipse把jar包下载完毕。

构建完以后的结构如下:

clipboard.png

调整一下Application类的层级如下图:

clipboard.png

为什么要调整层级?
Application类会默认扫描同级以及同级别包下的子子孙孙(无穷尽也)进行加载。如果Application运行不了或者配置、注解不起作用,要注意一下层级。我习惯了只设置一个App入口。因为整个项目最终会加载多个环节的代码,形成一个闭环,所以个人认为最好不要有多个App入口。

好了,到这里我们boot基础搭建好了,先试一下能不能正常运行吧。
com.bapi.SpringbootlearnApplicationTests是测试类
com.bapi.SpringbootlearnApplication是程序入口
这两个最好都单独运行一下试试看Test和入口程序会不会报异常。

clipboard.png

clipboard.png

junit和控制台都不报异常,需要注意控制台一个地方。

clipboard.png

这段代码的意思很明白了,就是项目访问路径中不需要项名称。下边开始写代码。

  • 代码
package com.bapi.user.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class UserHandler {
    
    @RequestMapping(value="hallowWord",method=RequestMethod.GET)
    @ResponseBody
    public String hallowWord() {
        String msg = "Hallow Word!";
        System.out.println(msg);
        return msg;
    }
}

注意代码的包路径,打开postman或者浏览器测试访问:http://localhost:8080/hallowWord

clipboard.png

clipboard.png

可以看的出来,Controller部分的代码和SpringMVC很像,而且是RESTFul风格。还有一个很大的区别,那就是直接使用@RestController注解,像这样

@RestController
public class UserHandler { 
    @RequestMapping(value="hallowWord",method=RequestMethod.GET)
    public String hallowWord() {**}
}

那么,UserHandler 里边所有的函数,都会变成RESTFul风格而不必一个一个给函数加@ResponseBody注解。

基于RESTFul风格的Hallow Word可以了,那么,跳转页面的该怎么做呢?因为跳转页面这里需要用到一些引擎,所以敬请关注后续文章。

在这里推荐一个不错的学习案例,是基于SpringBoot1.3.2,虽然版本低,但是有很多丰富的知识点也是值得学习的,当时也是从这个案例开始学习研究起步的,感谢:http://blog.didispace.com/Spr...

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值