后端框架SpringBoot入门[通俗易懂]

后端框架SpringBoot入门[通俗易懂]SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员…

大家好,又见面了,我是你们的朋友全栈君。


Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者

一、为何选择SpringBoot

     众所周知,后端框架有许多,比如说在之前学习javaweb时候的struts2,以及spring框架,还有python后端的Django框架,以及我们今天要用的SpringBoot框架。
    既然有如此多的后端框架,为什么我们选择的是SpringBoot呢,下面将告诉你SpringBoot的优点。

SpringBoot的优点有:

  1. 可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;

  2. 内嵌Tomcat或Jetty等Servlet容器;

  3. 提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;

  4. 尽可能自动配置Spring容器;

  5. 提供准备好的特性,如指标、健康检查和外部化配置;

  6. 绝对没有代码生成,不需要XML配置。

    所以之前用过其它框架的同学在用SpringBoot后就会发现不需要其它的许多配置,让我们更加关注我们自身的业务代码。
    那么,话不多说,用代码来让你们感受一下。

二、项目的创建

     首先打开我们的idea集成开发环境,我用的是idea2019,下面是它的启动界面
640?wx_fmt=png
     然后新建立一个SpringBoot项目

640?wx_fmt=png
     接着填写项目的名称,其实需要填写的就是Group和Artifact,那这两个是什么意思呢,其实我们观察下可以发现我们的包的名称其实就是Group+Artifact的名称,在实际开发中有GroupId和ArtifactId这个是Maven用来管理包时作为区分的字段,就像地图上的坐标一样。假设你有一个域名叫baidu.com,那么你想在这个域名下做一个项目,这个项目的名称叫hello,那么Group就是com.baidu,域名反过来写,而Artifact就是叫hello。自然写完这两个你的包名(Package)自然就叫com.baidu.hello。点击Next进入下一步
640?wx_fmt=png
    选择Web,勾选SpringWeb,这里显示的版本是2.1.9,我们点击Next

640?wx_fmt=png
    点击finish,我们完成项目的创建,然后等待项目的初始化,项目构建成功
640?wx_fmt=png

三、项目目录结构介绍

     在介绍项目的目录结构之前,我先介绍几个概念。
  • Maven仓库

     在我们之前学习JavaWeb的时候,当我们需要相关的jar包的时候我们就会去相关的网    站上把我们需要的包给下载下来,然后把需要用到的jar包放在我们的WebRoot目录下WEB-INF目录下的lib文件夹当中。这种方式我们要自己去找相关的依赖包,然后下载下来,放到指定的位置。这样显得比较麻烦,而且浪费时间。
    但是有了Maven仓库之后,这一切就变得方便许多,我们只需要在pom.xml下写上相关的依赖,比如说我需要连接mysql数据库的jar包,那么,我们就需要去pom.xml写这个jar的名称,版本,写好了之后我们的maven工具就会自动的去下载我们需要的jar包,就不需要我们去一个一个找了,这样方便了许多。

  • Git

     Git是一个版本控制工具和我们所熟知的GitHub是不一样的,那么这个版本控制工具有什么作用呢?我们在开发项目的时候并不是一个人在开发,而是多人协作共同开发(虽然我们致力于做全栈高手),那么一个项目分为许多模块,而且模块之间是有联系的,那这样就无法实现协同开发。但是Git就是能够让你协同开发的一个工具,它能够在你的项目出问题后回退到你之前提交的任何一个版本。它能够实现多人协同开发,比如说,一个项目由A、B、C三个人开发,项目创建好之后A、B、C分别fork这个项目之后就可以写自己的部分,写完之后push过去,当有文件冲突的时候通过git的方式解决。Git的使用我推荐看廖雪峰的Git教程。
     好了,介绍完上面的概念之后,我们来开始介绍项目的目录结构。

     在我们的项目目录里,src下的main文件夹下放着两个文件夹,一个文件夹是java文件夹,另外一个文件夹是resources文件夹。resources文件夹用来放固定的文件,比如说图片文件、html文件,Thymeleaf模板文件等。然后就是java文件夹下放的就是我们源码,在这里由于我的命名是com.baidu.hello,所以包的名字就是com.baidu.hello。然后就是Test文件夹下的java文件夹,这里可以进行单元测试,然后就是根目录下的一些文件。

640?wx_fmt=png

四、编写代码

     首先在pom.xml文件里添加Thymeleaf的依赖,如下:


<dependency>

   
<groupId>org.spring.framework.boot
</groupId>

   
<artifactId>spring-boot-starter-thymeleaf
</artifactId>


</dependency>

     然后在com.baidu.hello下面新建一个叫做Controller的包,然后在这个包里面新建一个HelloController的类,并写下注解,代码如下:


package com.baidu.hello.Controller;

import org.springframework.stereotype.Controller;


import org.springframework.ui.Model;


import org.springframework.web.bind.annotation.GetMapping;


import org.springframework.web.bind.annotation.RequestParam;

/**
 * 2019.10.9
 */



@Controller


public 
class HelloController {

    
@GetMapping(
“/hello”)

    
public void hello(@RequestParam(name=“name”) String name, Model model){

        model.addAttribute(
“name”,name);

    }

}

     然后我们还要在resources文件夹下的templates文件夹下创建hello.html,代码如下:


<!DOCTYPE html>


<html lang=“en” xmlns:th=“http://www.thymeleaf.org”>


<head>

    
<meta charset=“UTF-8”>

    
<title>Hello World
</title>


</head>


<body>

    
<p th:text=“‘Hello,’ + ${name} + ‘!'”/>


</body>


</html>

五、运行结果

    运行 HelloApplication.java之后,打开浏览器输入localhost:8080/hello?name=城南有梦,结果如下:

640?wx_fmt=png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136307.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 老生常谈–什么是装箱什么是拆箱「建议收藏」

    老生常谈–什么是装箱什么是拆箱「建议收藏」我们知道.NET具有两个数据类型:值类型和引用类型。因为值类型没有指针引用,不是分配在托管堆中,也不会被GC回收,因此它比引用类型更加高效。但有时我们需要将一种类型的变量转换为另一种类型,这时我们就可以使用装箱/拆箱。一、什么是装箱装箱就是将值类型的数据存储在引用类型的变量中。例如在方法中创建了int类型的变量,需要将这个值类型赋值给一个引用类型的变量,这就意味着对这个值进行了装箱操作,代码如下:voiddemo(){intnum=25;//这是装箱操作objectobjN

    2022年10月21日
  • 徐 氏 介 绍_徐氏的起源

    徐 氏 介 绍_徐氏的起源一、姓氏源流徐氏的姓氏来源比较纯正,主要出自嬴姓。是先帝玄孙伯益之子若木的后裔。相传陷帝有一个孙女叫女修,因食燕子蛋而怀有大业。大业娶少典氏女子女华为妻,生下了皋陶,皋陶生三子(另一说是六子)长子伯益,又叫…

    2022年9月6日
  • 95后的真实状态,是不是太难了?(漫画)

    如今90后已经渐入职场,70后、80后、90后“三代同堂”越来越普遍。工作生活中的交集也越来越必不可免。 95后的你,有没有感同身受,欢迎评论。 原文始发于微信公众号(全栈程序员社…

    2021年6月21日
  • 常见服务器默认管理口地址[通俗易懂]

    常见服务器默认管理口地址[通俗易懂]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++HP管理口:ILO1》默认用户/密码:Administrator/password2》HP以前管理口登陆MP卡通过网线连接MP卡的RJ-45口,通过telnet方式登录,默认用户/密码:Admin/Admin3》++++++++++++++++++

    2022年5月22日
  • 鼠标双击响应的实现「建议收藏」

    鼠标双击响应的实现「建议收藏」今天在实现鼠标双击响应的时候,遇到了一些问题,下面是对我很有帮助的解释:首先对鼠标双击事件原理做一个简单的了解:在Windows平台上,鼠标左键的按下、松开、快速的两次点击会产生WM_LBUTTONDOWN、WM_LBUTTONUP和WM_LBUTTONDBLCLK消息,但是Windows根据什么来区分连续的两次鼠标按键操作,是两次独立的单击,还是一次双击呢?最近在解决一个问题时,通过使用…

    2022年9月25日
  • SFM算法流程

    SFM算法流程SFM算法流程1.算法简介SFM算法是一种基于各种收集到的无序图片进行三维重建的离线算法。在进行核心的算法structure-from-motion之前需要一些准备工作,挑选出合适的图片。首先从图片中提取焦距信息(之后初始化BA需要),然后利用SIFT等特征提取算法去提取图像特征,用kd-tree模型去计算两张图片特征点之间的欧式距离进行特征点的匹配,从而找到特征点匹配个数达到要

    2022年6月20日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号