首页 > 其他分享 >1. SpringBoot 入门

1. SpringBoot 入门

时间:2024-05-02 10:22:06浏览次数:30  
标签:SpringBoot parent boot springframework org starter 入门

1. SpringBoot 简介

SpringBoot是由Pivotal团队提供的全新框架,可以帮助我们开发基于Spring的、独立的、生产级的应用程序。

其中SpringBoot的官网是:Spring Boot Reference Documentation


SpringBoot的主要目标是:

  • 为所有Spring开发提供更快的入门体验

  • 开箱即用,提供了自动配置

  • 提供一系列大型项目通用的非功能性特性

    • 外部化配置、嵌入式服务器、安全性、健康检查、指标
  • 完全不需要代码生成,也不需要XML配置


注意:SpringBoot 并不是Spring功能上的增强,而是提供了一种快速使用Spring的方式。

2. SpringBoot入门

2.1 入门案例开发步骤

这里先采用的是手动创建的方式

  1. 新建Maven项目

  2. 引入依赖

        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.7.3</version>
        </parent>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    
  3. 创建引导类

    package com.north;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    /**
     * @Author North
     * @Date 2024/5/2
     */
    @SpringBootApplication
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }
    
  4. 开发控制器类

    package com.north.controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * @Author North
     * @Date 2024/5/2
     */
    @RestController
    @RequestMapping("/books")
    public class BookController {
    
        @RequestMapping("/save")
        public String save() {
            System.out.println("user save");
            return "hello springboot!";
        }
    
    }
    
  5. 运行自动生成的Application类

    image

    image


2.2 通过idea骨架进行创建

image

2.3 基于SpringBoot官网进行创建

官网地址

image

3. 思考:

  1. 入门案例中没有引入spring-webmvc等依赖包,没有配置Tomcat服务器,为什么能正常启动?

    1. SpringBoot 内部集成的含有tomcat

      image

  2. 没有配置端口号,为什么端口是8080?

    1. Tomcat端口号默认配置为8080

4. SpringBoot 入门总结 - 起步依赖

  • starter

    • SpringBoot中常见项目名称,定义了当前项目使用的所有项目坐标,以达到减少依赖配置的目的
  • parent

    • 所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的
    • spring-boot-starter-parent(2.5.0)与 spring-boot-starter-parent(2.4.6)共计57处坐标版本不同

实际开发

  • 使用任意坐标时,仅书写GAV中的G和A,V由SpringBoot提供
  • 如发生坐标错误,再指定version(要小心版本冲突)

pom中starter、parent作用是什么?

  • starter:减少依赖配置
  • parent: 减少依赖冲突

image

标签:SpringBoot,parent,boot,springframework,org,starter,入门
From: https://www.cnblogs.com/NorthPoet/p/18169936

相关文章

  • 开源文档预览项目 kkFileView (9.9k star) ,快速入门
    kkFileView是一款文件文档在线预览解决方案,采用流行的SpringBoot框架构建,易于上手和部署。该项目基本支持主流办公文档的在线预览,包括但不限于doc、docx、xls、xlsx、ppt、pptx、pdf、txt、zip、rar,以及图片、视频、音频等格式。1Docker部署拉取镜像:#网络环境方便......
  • SpringBoot Jpa多条件查询
    RepositoryMyRepositoryextendsJpaRepository<MyEntity,Integer>精确查询:Example包装EntityPageablepageable=PageRequest.of(current-1,pageSize);//myEntity实体类参数Exampleexample=Example.of(myEntity);Page<MyEntity>page=myRepository.fin......
  • SpringBoot 打包所有依赖
    SpringBoot项目打包的时候可以通过插件spring-boot-maven-plugin来repackage项目,使得打的包中包含所有依赖,可以直接运行。例如:<plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId&g......
  • SpringBoot 循环引用解决办法
    Spring原生是允许并解决了单层循环引用的,但从SpringBoot2.6.0开始,默认禁止Bean之间的循环引用,如果存在循环引用就会启动失败报错。此时要解决循环引用问题有两个办法:设置Spring允许循环引用(推荐)。spring:main:allow-circular-references:true在循环引用......
  • CMake极速入门
    引言还在手写晦涩难懂的Makefile文件吗?现如今,主流的c++项目都采取CMake作为项目构建工具,CMake可以跨平台运行,而且语法相对Makefile而言直观很多,是时候将Makefile扫进垃圾堆了。Hello,World!首先先以单个源文件项目为讲解,新建一个main.cpp文件:#include<iostream>usingnames......
  • SpringBoot camunda常用代码
    图例: 1:默认排他网关,表达式Type:expression:${number%200==0}2:servicetask(系统自动执行用的最多):常用Delegateexpression${testGateWay}举例:@Component("testGateWay")publicclassTestGateWayimplementsJavaDelegate{@Overridepublicvoidexecute......
  • SpringBoot2.x整合Redis Sentinel
    redissentinel搭建之后,在spring-boot项目中集成。配置在pom.xml文件中添加如下依赖配置(这里spring-boot版本2.2.5),这个版本中,默认使用lettuce作为redis连接池。<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis<......
  • Vue入门到关门之前端引入
    一、前端发展历史1、什么是前端?前端:针对浏览器的开发,代码在浏览器运行后端:针对服务器的开发,代码在服务器运行2、前后端不分的时代互联网发展的早期,前后端开发是一体的,前端代码是后端代码的一部分。就比如使用HTML(5)、CSS(3)、JavaScript(ES5、ES6)来编写一个个的页面,然后......
  • Vue入门到关门之计算属性与监听属性
    一、计算属性1、什么是计算属性计算属性是基于其它属性计算得出的属性,就像Python中的property,可以把方法/函数伪装成属性,在模板中可以像普通属性一样使用,但它们是基于响应式依赖进行缓存的。这意味着只有在依赖的响应式数据发生改变时,计算属性才会重新计算,否则会直接返回缓存的......
  • Vue入门到关门之生命周期钩子
    一、生命周期钩子函数1、什么是生命周期?在软件开发中,"生命周期"通常指的是一个对象从创建到销毁的整个过程。在前端开发中,特别是在使用诸如Vue.js、React等框架的情况下,"生命周期"常常指的是组件或实例在其存在期间经历的一系列阶段。在Vue.js中,每个Vue实例都有一个生命周期,它......