• springboot基础入门


    前言

    本文是作者的入门笔记,学习狂射说,其中的主要知识,借鉴自狂神的课堂笔记。
    本文章仅供学习和参考使用,没有任何商业的用途。如果对原作者造成损失,希望大家及时通知作者,我一定会及时处理。

    简介

    • 在简介之前,我想问大家一个问题:大家还记得什么是spring吗?
    • 说实话,我也不记得了,好吧,那让我们先回忆一下。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发的。
    • 那我们来认识一下springboot:一个Javaweb的开发框架,和springMVCl类似,但开发更简化,遵循约定大于配置。
    • 简述springboot的来历:随着spring的发展,涉及的领域越来越多,项目整合开发需要配合各种各样的文件,慢慢变得不那么易用简单,违背了最初的理念,其中的配置纷繁复杂。Spring Boot 正是在这样的一个背景下被抽象出来的开发框架,目的为了让大家更容易的使用 Spring 、更容易的集成各种常用的中间件、开源软件。

    springboot和spring的关系,约定大于配置的思想优点

    • ***Spring Boot 基于 Spring 开发,Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。***换句话说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。
    • SpringBoot 以约定大于配置的核心思想,默认帮我们进行了很多设置,也就是说,多数 Spring Boot 应用只需要很少的 Spring 配置。同时它集成了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),SpringBoot 应用中这些第三方库几乎可以零配置的开箱即用。

    主要的优点

    在这里插入图片描述

    • 我们还是吹一下要不某些同学还是提不起兴趣
      • 帮助spring开发者更快的入门
      • 开箱即用,提供各种默认配置来简化项目配置【是不是很爽】
      • 内嵌式容器简化Web项目
      • 没有冗余代码生成和XML配置的要求

    经典项目helloWorld

    准备工作【以下是作者的配置】

    • 环境
      • java 1.8
      • maven 3.6.3
      • springboot 2.7.3
    • 开发工具
      • IDEA 2022

    具体操作【使用IDEA直接创建项目】

    • 下载项目包的方式,也不常用,所以我们直接介绍最好的、最常用的方法
    1. 创建新项目
      在这里插入图片描述
    2. 选择spring initalizr
    3. 填写项目信息、项目路径
      在这里插入图片描述
    4. 选择初始化的组件(初学勾选 Web 即可)
      在这里插入图片描述
    5. 等待项目构建成功
    • 项目结构分析:
      1. 程序的主启动类
      2. 一个 application.properties 配置文件
      3. 一个 测试类
      4. 一个 pom.xml

    pom.xml分析

    
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0modelVersion>
        
        
        <parent>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-parentartifactId>
            <version>2.7.3version>
            <relativePath/>
        parent>
        
        <groupId>com.yanggroupId>
        <artifactId>springbootartifactId>
        <version>0.0.1-SNAPSHOTversion>
        <name>springbootname>
        <description>springbootdescription>
        <properties>
            <java.version>1.8java.version>
        properties>
        <dependencies>
            
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-configuration-processorartifactId>
                <optional>trueoptional>
            dependency>
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starterartifactId>
            dependency>
    
            
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-webartifactId>
            dependency>
            
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-testartifactId>
                <scope>testscope>
            dependency>
        dependencies>
    
        
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.bootgroupId>
                    <artifactId>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
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58

    编写HTTP接口

    1. 在主程序的同级目录下,新建一个controller包,一定要在同级目录下,否则识别不到
      在这里插入图片描述
    2. 在包中新建一个HelloController类
    @Controller
    @RequestMapping("/hello")
    public class HelloController {
        @ResponseBody
        @RequestMapping("/hello")
        public String hello() {
            return "hello";
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    1. 编写完毕后,从主程序启动项目,浏览器发起请求,看页面返回;控制台输出了 Tomcat 访问的端口号
      在这里插入图片描述
      在这里插入图片描述
    • 如果使用的默认端口8080,localhost:8081/hello/hello
      在这里插入图片描述

    将项目打成jar包,点击 maven的 package

    • 如果打包成功,则会在target目录下生成一个 jar 包
      在这里插入图片描述
    • 如果遇到错误,可以配置打包时跳过项目运行测试用例
    
    <plugin>
    	<groupId>org.apache.maven.pluginsgroupId>
    	<artifactId>maven-surefire-pluginartifactId>
    	<configuration>
    		
    		<skipTests>trueskipTests>
    	configuration>
    plugin>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在这里插入图片描述

    • 打成了jar包后,就可以在任何地方运行了!
    • 运行的命令
    java -jar xxx.jar
    
    • 1
    • 操作展示
      在这里插入图片描述
    • 成功执行
      在这里插入图片描述
      在这里插入图片描述

    解释一下:佛祖图像

    • 如何更改启动时显示的字符拼成的字母?
    • 只需一步:到项目下的 resources 目录下新建一个banner.txt 即可。
    • 图案可以到:https://www.bootschool.net/ascii 这个网站生成,然后拷贝到文件中即可!
  • 相关阅读:
    旋转框/微调按钮的基类--QAbstractSpinBox 类
    Springboot毕设项目基于SpringBoot的演唱会购票系统z2673(java+VUE+Mybatis+Maven+Mysql)
    [笔记]攻防工具分享之 CobaltStrike框架 《一》环境配置
    网络编程.
    Maven安装与配置
    HTML+CSS大作业:众志成城 抗击疫情 抗击疫情网页制作作业 疫情防控网页设计
    Gson简介
    大数据技术之 Kafka
    【论文笔记】Deep Multi-View Spatial-Temporal Network for Taxi Demand Prediction
    智慧河湖方案:AI赋能水利水务,构建河湖智能可视化监管大数据平台
  • 原文地址:https://blog.csdn.net/yang2330648064/article/details/126906781