SpringBoot快速上手

文章目录

  • [1 SpringBoot的介绍](#1 SpringBoot的介绍)
  • [2 SpringBoot的特点](#2 SpringBoot的特点)
  • [3 快速创建SpringBoot应用](#3 快速创建SpringBoot应用)
  • [4 第一个Controller程序](#4 第一个Controller程序)
  • [5 开发环境热部署](#5 开发环境热部署)
  • [6 系统配置](#6 系统配置)

1 SpringBoot的介绍

  • SpringBoot是基于Spring的全新框架,旨在简化Spring应用的初始搭建和开发过程。
  • SpringBoot就是尽可能地简化应用开发的门槛,让应用开发、测试、部署变得更加简单。

2 SpringBoot的特点

  • 遵循"约定优于配置"的原则,只需要很少的配置或使用默认的配置,从而代替了手动的配置过程。
  • 使用内嵌的Tomcat、Jetty服务器,不需要手动打包war文件让服务器使用。
  • 提供定制化的启动器Starters,简化Maven配置,无需写很多个依赖,开箱即用。
  • 纯Java配置,没有代码生成,也不需要XML配置。
  • 提供了生产级的服务监控方案,如安全监控、应用监控、健康检测等。

3 快速创建SpringBoot应用

  • 利用IDEA提供的Spring Initializr创建SpringBoot应用:New Project => Spring Initializr
  • 填写项目信息
    • Group:一般输入公司域名
    • Artifact:项目名称
    • SDK:1.8
    • Java version:8
    • 配置Maven:File => Settings => Build, Execution, Deployment => Build Tools => Maven,配置完成后右下角会显示下载依赖的进度条。

4 第一个Controller程序

  • 创建子目录controller
  • 在目录controller中,创建HelloController.java文件
  • 启动项目,在浏览器窗口中输入:http://localhost:8080/hello
  • 基本结构:
    • java:主要代码,java文件夹下的com.example.xxx是主包,放置后续写的代码,启动程序为主包下的xxxApplication类。

    • resources:系统自动放置一些文件夹和配置目录

    • static:网站的静态资源

    • templates:网站的模板

    • application.properties:配置文件

    • pom.xml:maven的配置文件

      • < parent >:父级项目
      • < dependencies >:依赖配置
      java 复制代码
      @RestController
      public class HelloController {
      	// 地址栏通过问号传参http://localhost:8080/hello?nickname=zhangsan
      	// 等价于@RequestMapping(value = "/hello", method= RequestMethod.GET)
          @GetMapping("/hello")
          public String hello(String nickname, String phone){
              System.out.println(phone);
              return "Helloworld" + nickname;
          }
      }

5 开发环境热部署

  • 在实际的项目开发调试过程中会频繁地修改后台类文件,导致需要重新编译、
    重新启动,整个过程非常麻烦,影响开发效率。

  • SpringBoot提供了spring-boot-devtools组件,使得无须手动重启SpringBoot应用即可重新编译、启动项目,大大缩短编译启动的时间。

  • devtools会监听classpath下的文件变动,触发Restart类加载器重新加载该类,
    从而实现类文件和属性文件的热部署。

  • 并不是所有的更改都需要重启应用(如静态资源、视图模板),可以通过设置。spring.devtools.restart.exclude属性来指定一些文件或目录的修改不用重启应用。

  • 代码实现:

    • 在pom.xml配置文件中添加dev-tools依赖。

    • 使用optional=true表示依赖不会传递,即该项目依赖devtools,其他项目如果引入此项目生成的JAR包,则不会包含devtools。

      xml 复制代码
      <dependency>
      	<groupId>org.springframework.boot</groupId>
      	<artifactId>spring-boot-starter-web</artifactId>
      </dependency>
    • 在application.properties中配置devtools。

      java 复制代码
      spring.devtools.restart.enabled=true
      spring.devtools.restart.additional-paths=src/main/java
  • 打开Settings页面,在左边的菜单栏依次找到Build,Execution,Deployment => Compile,勾选Build project automatically。

  • 按Ctrl+Shift+Alt+/快捷键调出Maintenance页面,单击Registry,勾选compiler.automake.allow.when.app.running复选框。
    做完这两步配置之后,若开发者再次在IntelliJ IDEA中修改代码,则项目会自动重启。

6 系统配置

  • 项目创建成功后会默认在resources目录下生成application.properties文件。该文件包含Spring Boot项目的全局配置。

  • 配置格式如下:

    java 复制代码
    server.port = 8081
相关推荐
鬼蛟3 分钟前
Spring————事务
android·java·spring
西门吹-禅36 分钟前
【sap fiori cds up error】
java·服务器·sap cap cds
stark张宇41 分钟前
Golang后端面试复盘:从Swoole到IM架构,如何支撑360w用户的实时消息推送?
后端
小码哥_常1 小时前
从0到1:搭建Spring Boot 3企业级认证授权平台
后端
敲代码的嘎仔1 小时前
Java后端面试——SSM框架面试题
java·面试·职场和发展·mybatis·ssm·springboot·八股
小码哥_常1 小时前
告别扫库噩梦!Spring Boot+Redis让订单超时管理飞起来
后端
大傻^1 小时前
Spring AI Alibaba RAG实战:基于向量存储的检索增强生成
java·人工智能·spring
大傻^1 小时前
Spring AI Alibaba 快速入门:基于通义千问的AI应用开发环境搭建
java·人工智能·后端·spring·springai·springaialibaba
伯恩bourne1 小时前
Google Guava:Java 核心工具库的卓越之选
java·开发语言·guava
小王不爱笑1322 小时前
Spring 基础核心
java