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


相关推荐

  • 共享计算机资源教案,辽师大版七年级信息技术下册1.2《分享你我的拥有——共享计算机资源》教案教学设计.pdf…

    共享计算机资源教案,辽师大版七年级信息技术下册1.2《分享你我的拥有——共享计算机资源》教案教学设计.pdf…

    2021年8月16日
    64
  • 解决P2P传输瓶颈

    解决P2P传输瓶颈随着嵌入式技术这几年的迅速发展,在个人电脑平台上正显示出强大市场需求的流媒体技术,目前逐渐有向嵌入式平台转移的趋势。个人便携化、家电化的媒体消费需求,为这次平台的转移提供了市场契机。IPTV正是在这场消费革命中处在风口浪尖的焦点。业内大多认为IPTV蕴含了巨大的商业利益,但至今仍鲜有涉足者,其中原因之一是网络速度问题。本文介绍了对等网络技术,即点对点(P2P)技术,将其应用到IPTV网络传输中,可

    2022年7月16日
    11
  • python发送soap报文_python处理SOAP API

    python发送soap报文_python处理SOAP API我们常见的API一般是restful,但是有的时候也会遇到非restful的时候,对于RestfulAPI,我们很容易用python处理。SOAPAPI我们如何来处理呢?首先我们需要了解RestfulAPI和SOAPAPI架构TheRepresentationalStateTransfer(REST)架构服务通过统一资源定位器(URL)公开。这个逻辑名称将资源的标识与所接…

    2022年7月13日
    22
  • 前端聊天功能如何实现_react使用websocket

    前端聊天功能如何实现_react使用websocketchat-room代码已经上传到GitHub,如果喜欢,不妨给一个⭐️说明本项目灵感来自交大x字节跳动的公开课,样式参考其demo1,但本项目采用React2所写,UI组件使用Antd3本项目实现的功能有:用户登录用户注册单人聊天多人聊天表情发送文件传输发送语音视频通话本项目采用的技术有:React&Antd开发前端界面Electron打包应用程序,本地测试不适用于https,因为证书不被信任nodejs&

    2022年10月7日
    4
  • Spring返回text/plain出现中文乱码

    Spring返回text/plain出现中文乱码今天在RestTemplate调试的时候发现返回的中文出现了乱码,使用POST

    2022年7月15日
    17
  • sparksql报错

    sparksql报错Exceptionint main org apache spark sql catalyst errors package TreeNodeExce execute tree Exchangehash subject 6 200 HashAggregat keys subject 6 name 7 functions count 1 output subject 6 name 7 c 12L E

    2025年8月30日
    2

发表回复

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

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