后端框架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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 进程和线程的主要区别(总结)

    进程和线程的主要区别(总结)根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过CPU调…

    2022年7月25日
    14
  • python利用海伦公式求三角形的面积

    python利用海伦公式求三角形的面积前言从小学我们都知道,三角形的面积是底乘以高除以2。那么已知任意一个三角形的三条边,如何能够求出三角形的面积呢?这里我们用到了海伦公式。海伦公式又译作希伦公式、海龙公式、希罗公式等,它是利用三角形的三条边的边长直接求三角形面积的公式,表达式为:其中p是三条边的和的一半儿。python根据三角形三条边求面积1.三角形的三条边的符合条件我们知道,三角形有三条边,且三条边…

    2025年8月24日
    3
  • ASP.NET的命名空间

    ASP.NET的命名空间ASP.NET的命名空间   命名空间(namespace)   ASP.NET中的各种语言使用的一种代码组织的形式。   通过命名空间来分类,区别不同的代码功能,也是ASP.NET中所有类的完全名称的一部分。   命名空间不过是数据类型的一种组合方式,但是,命名空间中所有数据类型的名称,都会自动加上该命名空间的名字作为前缀。 命名空间还可以相互嵌套

    2022年7月11日
    17
  • 微信公众平台开发者社区_php微擎框架

    微信公众平台开发者社区_php微擎框架一、思考开发了几个微信项目,一直在思考:如何将微信相关的处理与业务系统联系在一起?如何做到彼此分离,且易于扩展?能否开发一套独立的微信服务框架,支持各种业务应用?二、现有常用的服务框架支持多种业务应用,我们通过分层的方式来实现。将复杂的系统进行分层,将一些功能或者特有的逻辑进行封装,封装为不同的基础服务或中间件。业务层无需关心底层具体实现,只需进行简单调用、组装

    2022年8月21日
    7
  • oracle如何导出数据(oracle如何备份数据库)

    1、createnewPDM;2、selectdatabasemenu;3、clickReverseEngineerdatabase;4、thenchooseyourscriptfile;5、clickOK;6、success。还有一个版本1,打开Powerdesigner工具,创建一个PDM文件,选择与之匹配的数据库类型“ibmdb2udb8.xcommo…

    2022年4月12日
    233
  • 打开名为window2_connection string

    打开名为window2_connection stringDotNetTextBox是一个很不错的在线编辑工具,我一直在用它。最近使用中发现它和window的history对象有冲突,原因就是它定义了一个全局的名为history的对象,覆盖默认的window.history。所以当你想在页面中调用“后退”功能(window.history.go(-1))时会产生脚本错误,找不到对象或方法。解决方法:在history对象变量前定义一全局变量…

    2022年8月30日
    9

发表回复

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

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