• 快速搭建Springboot项目(一)


    友情提醒:

    先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。

    第一章、Spring Boot框架介绍

    1.1)Springboot是什么,有什么好处

    ①概念:
    Springboot是Java 框架。开发人员在用 Java 编程语言来创建应用时,所使用的一系列预编写代码。它们起着模板的作用,这样开发人员即可以在一定的结构上来编写应用,而无需从头开始手动创建。

    ②好处:
    1.Spring Boot抛弃了繁琐的xml配置过程,使用对应注解来代替,采用大量的默认配置简化我们的开发过程(主要简化配置)。
    2.能够快速创建基于Spring的应用程序
    3.能够直接使用java main方法启动内嵌的Tomcat服务器运行Spring Boot程序,不需要部署war包文件。
    4.提供约定的starter POM依赖来简化Maven配置,让Maven的配置变得简单。
    5.自动化配置,根据项目的Maven依赖配置,Spring boot自动配置Spring、Spring mvc等。
    6.提供了程序的健康检查等功能

    1.2)spring boot的两大策略与四大核心

    ①两个策略:开箱即用和约定优于配置。
    1.开箱即用是通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。
    2.约定优于配置是由SpringBoot本身来配置目标结构,由开发者在结构中添加信息,减少了开发人员需要做出决定的数量,同时可以将代码编译、测试和打包等工作自动化。

    ②四大核心
    1.自动配置——Auto-Configuration
    它是指基于你引入的依赖Jar包,对SpringBoot应用进行自动配置,它为SpringBoot框架的"开箱即用"提供了基础支撑。

    2.起步依赖
    起步依赖就是特殊的Maven依赖,利用了传递依赖解析,把常用库聚合在一起。不再需要向项目pom.xml文件中添加一堆单独的依赖,添加依赖时不需要指定依赖的版本号而由当前的Spring Boot版本号决定。

    3.自带监控组件——Actuator
    管理和监控工具,用于监控和管理Spring Boot应用程序。它可以提供对应用程序的运行时信息、健康状况、性能指标、日志等进行监控和管理

    4.命令行界面
    这是Spring Boot的可选特性,主要针对Groovy语言使用,Groovy 代码能够与Java代码很好地结合,也能用于扩展现有代码,由于其运行在JVM上的特性,Groovy可以使用其他Java语言编写的库。

    第二章、快速搭建spring boot 项目

    2.1)idea快速创建spring boot项目

    ①file–>new project
    在这里插入图片描述
    ②创建一个新工程 ,名为springboot
    在这里插入图片描述
    在这里插入图片描述

    ③在新工程下创建新module
    在这里插入图片描述
    选择spring initializr 右侧的Module SDK根据自己的jdk版本选择相应jdk
    在这里插入图片描述

    ④指定GAV及pom配置信息
    在这里插入图片描述

    ⑤选择Spring Boot版本及依赖
    在这里插入图片描述

    ⑥创建完成
    在这里插入图片描述

    2.2)pom文件内容的含义

    ①新建后项目结构如图
    在这里插入图片描述

    ②pom文件内容解释

    
    <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 http://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.16version>
            <relativePath/> 
        parent>
    
        
        <groupId>com.example.springbootgroupId>
        <artifactId>001-springboot-firstartifactId>
        <version>1.0.0version>
    
        
       <name>001-springboot-firstname>
        
        <description>Demo project for Spring Bootdescription>
    
        
        <properties>
            <java.version>11java.version>
        properties>
    
    
        <dependencies>
            
            <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

    2.3)起步依赖查看

    ①起步依赖将常用库聚合在一起。不再需要向项目pom.xml文件中添加一堆单独的依赖,添加依赖时不需要指定依赖的版本号而由当前的Spring Boot版本号决定。
     ②pom文件内容的含义如下

    第三章、快速启动spring boot项目

    3.1)同级包或子包中创建一个SpringBootController

    ①根据springboot的约定,Java代码必须要在Application的同级包或者子包中
    在这里插入图片描述
    ①SpringBootController类的代码如下

    package com.example.springboot.web;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    public class SpringBootController {
    
        @RequestMapping(value = "/springBoot/first")
        @ResponseBody
        public String say() {
            return "Hello,springBoot!";
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    3.2)properties配置文件中进行配置

    ①Spring Boot的核心配置文件用于配置Spring Boot程序,名字必须以application开始。默认采用的是properties配置文件,可以在其中配置站点名称和端口号
    在这里插入图片描述
    ②配置信息如下

    #设置内嵌Tomcat端口号
    server.port=9001
    
    #配置项目上下文根
    server.servlet.context-path=/001-springboot-first
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3.3)启动并访问

    ①在IDEA中右键,运行Application类中的main方法,启动SpringBoot框架,会启动一个内嵌的tomcat,端口号为配置的9001,上下文根为配置的/001-springboot-first
    在这里插入图片描述

    ②在浏览器中输入http://localhost:9001/001-springboot-first/springBoot/first访问,访问成功

    在这里插入图片描述

    第四章、配置的一些细节

    4.1)多环境配置

    具体的项目开发过程会遇不同的环境(开发/测试/上线等),为了在不同的环境之间切换,SpringBoot提供了多环境配置。
    为每个环境创建一个配置文件,命名必须以application-环境标识.properties文件或者.yml文件
    ①开发环境配置文件
    在这里插入图片描述
    ②生产环境配置文件
    在这里插入图片描述
    ③在总配置文件application.properties进行环境的激活,这里的product对应文件名application-produc的横杠后面的produc

    在这里插入图片描述

    4.2)自定义配置与@Value注解

    ①@Value注解用于获取配置文件中的属性定义并绑定到Java Bean或属性中。在核心配置文件applicatin.properties中,添加两个自定义配置项school.name和school.website。
    在这里插入图片描述

    ②在SpringBootController中定义属性,并使用@Value注解或者自定义配置值,并对其方法进行测试

    package com.example.springboot.web;
    
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    public class SpringBootController {
        @Value("${school.name}")
        private String schoolName;
    
        @Value("${school.websit}")
        private String schoolWebsit;
    
        @RequestMapping(value = "/springBoot/first")
        @ResponseBody
        public String say() {
            return schoolName + "------" + schoolWebsit;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    ③访问浏览器成功,说明成功通过@value读取配置的属性值
    在这里插入图片描述

    4.3)自定义配置与ConfigurationProperties注解

    ①自定义配置项比较多的情况可以使用ConfigurationProperties注解,用于获取配置文件中的属性定义并绑定到Java Bean或属性中

    ②springboot包下创建config同时创建ConfigInfo类,在ConfigInfo类中使用ConfigurationProperties和Component注解,prefix的作用是区分同名配置,如果不指定,那么会去配置文件中寻找与该类的属性名一致的配置。

    在这里插入图片描述
    ③开发环境配置文件中,设置有对应属性的三个配置项
    在这里插入图片描述
    ④在SpringBootController中注入ConfigInfo配置类
    在这里插入图片描述
    ⑤重新运行Application,在浏览器中进行测试,测试成功
    在这里插入图片描述

  • 相关阅读:
    FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
    vue使用slot封装navBar
    vue的使用及绑定和一些vue指令
    Android AGP8.1.0组件化初探
    SpringCloud Alibaba-Sentinel保姆级教程
    Tomcat 限制对 Web 应用程序的访问
    实现抖音视频滑动功能vue3+swiper
    神经网络硕士就业前景,图神经网络前景如何
    两个有序序列的中位数
    IDEA的使用(一) (IntelliJ IDEA 2022.1.3版本)
  • 原文地址:https://blog.csdn.net/baomingshu/article/details/131972665