• SpringBoot(一、快速入门)


    🚀 优质资源分享 🚀

    学习路线指引(点击解锁)知识定位人群定位
    🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
    💛Python量化交易实战💛入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

    1、SpringBoot简介

    Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

    SpringBoot官网:https://spring.io/projects/spring-boot/

    Spring Boot 可以轻松创建可以“直接运行”的独立的、生产级的基于 Spring 的应用程序。

    Spring Boot 基于Spring开发,Spring Boot 本身并不提供Spring 框架的核心特性以及扩展功能,只是用于快速.敏捷的开发新一代基于Spring 框架的应用程序。 Spring Boot以约定大于配置的核心思想,默认帮我们进行了很多设置,多数Spring Boot应用只需要很少的Spring配置,几乎可以零配置开箱即用。

    2、优势

    • 创建独立的 Spring 应用程序
    • 直接嵌入 Tomcat、Jetty 或 Undertow(无需部署 WAR 文件)
    • 提供自以为是的“入门”依赖项以简化您的构建配置
    • 尽可能自动配置 Spring 和 3rd 方库
    • 提供生产就绪功能,例如指标、健康检查和外部化配置
    • 完全无需代码生成,无需 XML 配置

    3、快速入门

    1、新建工程

    2、勾选SpringWeb

    经过以上步骤后就创建了如下结构的模块,它会帮我们自动生成一个 Application

    1. 在创建好的工程中不需要创建配置类
    2. 创建好的项目会自动生成其他的一些文件,而这些文件目前对我们来说没有任何作用,所以可以将这些文件删除。

    可以删除的目录和文件如下:

    • .mvn
    • .gitignore
    • HELP.md
    • mvnw
    • mvnw.cmd

    3、创建Controller

    package com.example.xmp.Controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @RequestMapping("/hello")
    public class HelloController {
        
        @RequestMapping("/")
        public String index() {
            return "Greetings from Spring Boot!";
        }
        
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    4、启动服务器

    运行 SpringBoot 工程不需要使用本地的 Tomcat 和 插件,只运行项目包下的 Application 类,我们就可以在控制台看出如下信息:

    使用 Apifox或者Postman工具来测试我们的程序

    通过上面的入门案例我们可以看到使用 SpringBoot 进行开发,使整个开发变得很简单。

    pom.xml 配置文件中的内容详解

    xml version="1.0" encoding="UTF-8"?
    
        4.0.0modelVersion>
        com.examplegroupId>
        xmpartifactId>
        0.0.1-SNAPSHOTversion>
        xmpname>
        xmpdescription>
    
        
            
            1.8java.version>
            UTF-8project.build.sourceEncoding>
            UTF-8project.reporting.outputEncoding>
            2.3.7.RELEASEspring-boot.version>
        properties>
        
        
            
            
                org.springframework.bootgroupId>
                spring-boot-starter-webartifactId>
            dependency>
        dependencies>
    
        
            
                
                
                    org.springframework.bootgroupId>
                    spring-boot-maven-pluginartifactId>
                plugin>
            plugins>
        build>
    project>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    我们代码之所以能简化,就是因为指定的父工程和 Spring Web 依赖实现的。

    4、Spring和SpringBoot对比

    类/配置文件SpringSpringBoot
    pom.xml手工制作勾选添加
    Web3.0配置类手工制作
    Spring/SpringMVC配置类手工制作
    控制器Controller手工制作手工制作
    • 坐标

    Spring 程序中的坐标需要自己编写,而且坐标非常多

    SpringBoot 程序中的坐标是我们在创建工程时进行勾选自动生成的

    • web3.0配置类

    Spring 程序需要自己编写这个配置类。这个配置类大家之前编写过,肯定感觉很复杂

    SpringBoot 程序不需要我们自己书写

    • 配置类

    Spring/SpringMVC 程序的配置类需要自己书写。而 SpringBoot 程序则不需要书写。

    5、在官网构建工程

    官网地址如下:

    https://spring.io/projects/spring-boot
    
    
    • 1
    • 2

    进入到 SpringBoot 官网后拖到最下方就可以看到如下内容

    然后点击 Spring Initializr 超链接就会跳转到如下页面

    然后操作与在Idea中类似,创建完成后会生成一个文件夹压缩包,打开即可,与Idea创建的一模一样。

    6、问题

    • Idea创建SpringBoot一直转圈圈
    • 打不开Spring官网

    可通过阿里云镜像创建:https://start.aliyun.com/

  • 相关阅读:
    SpringSecurity---内存认证和数据库认证
    研二学妹面试字节,竟倒在了ThreadLocal上,这是不要应届生还是不要女生啊?
    pycharm安装库失败
    TraceId 搭配 ELK ,碉堡了!
    字符串— trim()、trimStart() 和 trimEnd()
    mysql递归查询,mysql创建函数
    搭建私有Git服务器:GitLab部署详解
    UE4光照基础
    git commit 后 发现提交信息写错了怎么办
    JVM小测
  • 原文地址:https://blog.csdn.net/m0_56069948/article/details/126277265