• 基础篇——基础项目解析


    • SpringBoot优点
      起步依赖 (简化依赖程序)
      自动配置 (简化工程相关配置)
      辅助功能(内置服务器, …)

    parent

    • spring-boot-dependencies-2.6.1.pom中定义了很多个版本和坐标关系
    • 阿里云创建版本直接引用了spring-boot-dependencies(继承只能用一次)
    • 避免多个依赖使用相同的技术时出现版本冲突
    <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.6.1</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    可以只写GA不用写V

    • 遇到错误之后再加入V版本信息,但是要小心版本冲突

    starter

    • 一个starter提供了一个技术所需的各种依赖,达到减少依赖配置的目的
    • 简化配置的目的
    <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    引导类

    • 引导类是Boot工程的执行入口,运行main方法就可以启动项目
    • SpringBoot工程运行后初始化Spring容器,扫描引导类所在包加载Bean
    @SpringBootApplication
    public class Springboot0101QuickstartApplication {
    
        public static void main(String[] args) {
            ConfigurableApplicationContext run = SpringApplication.run(Springboot0101QuickstartApplication.class, args);
            BookController bean = run.getBean(BookController.class);
            System.out.println("book--==>"+ bean);
            User bean1 = run.getBean(User.class);
            System.out.println("User--==>"+ bean1);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    内嵌tomcat

    • SpringBoot内置一个tomcat服务器
    • 可以从starter-web中排除换成其他的服务器,例如下面案例中的jetty
    • 常见的内置服务器
      apache出品,粉丝多, 应用面广,负载了若干较重的组件
      jetty 更轻量级,负载性能远不及tomcat
      undertow 负载性能勉强跑赢tomcat
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jetty</artifactId>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    springboot相关操作学习汇总
    Maven的初使用
    【路径规划】基于梯度下降算法求解自定义起点终点障碍路径规划问题附matlab代码
    访问修饰符你用对了吗
    FreeRTOS移植以及核心功能
    linux关于cmake,makefile和gdb的使用
    Linux相关命令
    2022年PMP考试换大纲了,但是PMBOK还没更新,该如何准备?
    【MySQL性能优化系列】百万数据limit分页优化
    前端学习案例-路由懒加载的工作原理
  • 原文地址:https://blog.csdn.net/qq_44808710/article/details/125593513