[023-2].第2节:搭建SpringBoot 项目

我的后端学习大纲

SpringBoot学习大纲


1.搭建基础的开发环境:

1.1.开发工具的介绍:

IDEA工具的使用学习

  • 1.使用的IDEA 2020版
    在这里插入图片描述

1.2.JDK安装:

在Windows环境下安装JDK

  • 1.安装JDK;查看jdk版本:java -version
    在这里插入图片描述

1.3.Maven安装:

Maven环境安装

  • 1.安装Maven,查看Maven版本:
    在这里插入图片描述
  • 2.对Maven进行设置,设置自己对应的jdk版本:

在这里插入图片描述

  • 3.使用IDEA整合自己的Maven:
    在这里插入图片描述

2.创建Spring Boot项目的几种方式:

  • 方式1.手动创建Maven工程后修改为SpringBoot工程
  • 方式2.基于IDEA本身的Spring Initializer来创建工程
  • 方式3.基于SpringBoot官网创建项目
  • 方式4.基于阿里云创建项目

2.1.方式1:创建Maven工程后修改为SpringBoot工程:

  • 1.创建maven项目
    在这里插入图片描述

  • 2.在pom.xml中添加依赖,引入starters,继承spring-boot-starter-parent

       <!--导入springboot的父工程--是规定写法 -->
       <parent>
            <artifactId>spring-boot-starter-parent</artifactId>
            <groupId>org.springframework.boot</groupId>
            <version>2.5.2</version>
        </parent>
    
        <dependencies>
            <!--导入springboot的web 项目场景启动器,会自动导入和 web 开发相关依赖,非常方便 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>2.5.2</version>
            </dependency>
        </dependencies>
    

    在这里插入图片描述

  • 3.创建主程序,启动Spring Boot应用;要使用@SpringBootApplication标注一个主程序类,说明这是一个Spring Boot应用
    在这里插入图片描述

  • 4.启动类中具体的代码:

    /**
     1.  @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
     */
    @SpringBootApplication
    public class HelloWorldMainApplication {
        public static void main(String[] args) {
            // Spring应用启动起来
            // HelloWorldMainApplication.class 代表主程序类
            SpringApplication.run(HelloWorldMainApplication.class,args);
        } }
    
  • 5.编写相关的Controller、Service;Controller接受来自浏览器中的请求,然后调用service中的方法,这个我们就先只写了控制层
    在这里插入图片描述

  • 6.手动创建static,template,application目录和properities配置文件
    在这里插入图片描述

  • 7.启动运行,然后在浏览器中发送请求,运行主程序测试 http://localhost:8080/hello
    在这里插入图片描述

  • 8.简化部署:官网插件位置:插件依赖,然后执行package,就可以打包

     <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    

    在这里插入图片描述


2.2.方式2:使用Spring Initializer来创建项目:

  • 1.使用Spring Initializer快速创建Spring Boot项目
    在这里插入图片描述- 2.IDEA:使用 Spring Initializer快速创建项目
    在这里插入图片描述
  • 3.选择所需要的模块;向导会联网创建Spring Boot
    在这里插入图片描述
  • 4.默认生成的Spring Boot项目;主程序已经生成好了,我们只需要编写自己的逻辑
  • 5.resources文件夹中目录结构
    • static:保存所有的静态资源; js css images;
    • templates:保存所有的模板页面;(Spring Boot默认jar包使用嵌入式的Tomcat默认不支持JSP页面);可以使用模板引擎(freemarker、thymeleaf)
    • application.properties:是Spring Boot应用的配置文件;可以修改一些默认设置

在这里插入图片描述


2.3.方式3:基于SpringBoot官网创建项目

  • 1.项目创建地址:https://start.spring.io/
    在这里插入图片描述
  • 2.点击SpringInitiallzr
    在这里插入图片描述
  • 3.生成项目,生成的项目压缩包可以解压,然后在IDEA中导入就可以了:
    在这里插入图片描述

2.4.方式4:基于阿里云创建项目

  • 1.阿里云地址:https://start.aliyun.com
  • 2.创建步骤就是:
    • 选择start来源为自定义URL为阿里云地址
    • 输入阿里云start地址,然后创建项目
  • 3.注意:
    • 阿里云提供的坐标版本较低,如果需要使用高版本,进入工程后手工切换SpringBoot版本
    • 阿里云提供的工程模板与Spring官网提供的工程模板略有不同

3.入门案例解析

3.1.parent说明(减少依赖冲突的作用)

  • 1.开发SpringBoot程序要继承spring-boot-starter-parent,parent是所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的
  • 2.spring-boot-starter-parent中定义了若干个依赖管理spring-boot-starter-parent各版本间存在着诸多坐标版本不同
  • 3.继承parent模块可以避免多个依赖使用相同技术时出现依赖版本冲突,所有SpringBoot项目要继承的项目,就可以定义了若干个坐标版本号(依赖管理,而非依赖),从而以达到减少依赖冲突的目的
  • 4.继承parent的形式也可以采用引入依赖的形式实现效果(阿里云创建项目的方式就是)
  • 5.引用不同的boot版本,那么此时引入的spring-boot-starter-parent的各版本间存在着诸多坐标版本不同
    在这里插入图片描述

3.2.starter说明(减少依赖配置的作用)

  • 1.starter就是包含了若干坐标定义的pom管理文件,这一个 starter包含了若干个依赖信息,如果这个starter使用其他的starter,那么这个starter它就会也自动的包含其他依赖的信息、这样我们就可以达到减少依赖配置的目的
  • 2.在实际开发中:我们使用任意坐标时,我们就仅书写GAV中的G和AV由SpringBoot提供,除非SpringBoot未提供对应版本V,但是如果不写V的时候,发生坐标错误,那我们再指定Version(要小心版本冲突)

3.3.引导类 说明(@SpringBootApplication注解

  • 1.总的来说,parent和starter解决的是配置问题,但是当程序运行的话,还是得需要引导类来运行程序
  • 2.SpringBoot的引导类是SpringBoot工程的执行入口,运行main方法就可以启动项目
  • 3.SpringBoot工程运行后初始化Spring容器,扫描引导类所在包,加载bean
  • 4.@SpringBootApplication : @SpringBootApplication 是 一 个 复 合 注 解 , 是 由@SpringBootConfiguration, @EnableAutoConfiguration ,@ComponentScan 联合在一起组成的。
  • 5.@SpringBootConfiguration : 就 是 @Configuration 这 个 注 解 的 功 能 , 使 用@SpringBootConfiguration 这个注解的类就是配置文件的作用
  • 6.@EnableAutoConfiguration:开启自动配置, 把一些对象加入到 spring 容器中。
  • 7.@ComponentScan:组件扫描器, 扫描注解,根据注解的功能,创建 java bean,给属性赋值等等。组件扫描器默认扫描的是 @ComponentScan 注解所在的类及其 类所在的包和子包
    @SpringBootApplication
    public class MySpringBootMain {
     public static void main(String[] args) {
     SpringApplication.run(MySpringBootMain.class,args);
     } 
    }
    
  • 8.在SpringBoot启动的时候,获取容器中的bean,它默认会获取这个配置类所在的包及其子包:
    在这里插入图片描述

3.4.辅助功能说明

  • 1.帮我们导入了其他依赖
    在这里插入图片描述
  • 2.使用maven依赖管理变更起步依赖项,比如变更内嵌服务器思想是去除现有服务器,添加全新的服务器
  • 3.Jetty比Tomcat更轻量级,可扩展性更强(相较于Tomcat),谷歌应用引擎(GAE)已经全面切换为Jetty
    在这里插入图片描述
  • 4.内嵌Tomcat服务器是SpringBoot辅助功能之一
  • 5.内嵌Tomcat工作原理是将Tomcat服务器作为对象运行,并将该对象交给Spring容器管理

4.模块的复制

4.1.根据模板模块进行开发:

a.模板模块的制作:

  • 1.模块重命名:boot_one_xxxx
    在这里插入图片描述
  • 2.复制后去更改pom文件,删除name和description两个标签更改aertfactId:
    在这里插入图片描述
  • 3.删除.imi文件,删除target目录,到此模板模块制作完成。
    在这里插入图片描述

b.配置模快的开发:

  • 1.下面是根据制作的模板来进行模块的开发:模块的名字是:springboot_01_02_configuration
  • 2更改pom.xml文件:
    在这里插入图片描述
  • 3.IDEA中导入模块
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    -4 .这样模块导入就成功了:我们运行来测试下:
    在这里插入图片描述
  • 5.在主运行类中,我们可以重构改名称,改不改都可以
    在这里插入图片描述
    在这里插入图片描述

4.2.为何有模块的复制:

  • 1.因为有的时候我们创建项目,需要很多模块,那如果一个个的创建就很麻烦,所以就可以先创建个项目模板,根据这个模板来复制粘贴后面的模块

  • 11
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值