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
相关推荐
lee_curry7 小时前
第四章 jvm中的垃圾回收器
java·jvm·垃圾收集器
QQ1__8115175157 小时前
Spring boot名城小区物业管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·vue.js·spring boot
小码哥_常7 小时前
解锁AI编程密码:程序员常用的10个AI提示词
后端
九转成圣8 小时前
Java 性能优化实战:如何将海量扁平数据高效转化为类目字典树?
java·开发语言·json
直奔標竿8 小时前
Java开发者AI转型第二十七课!Spring AI 个人知识库实战(六)——全栈闭环收官,解锁前端流式渲染终极技巧
java·开发语言·前端·人工智能·后端·spring
金銀銅鐵9 小时前
[java] 编译之后的记录类(Record Classes)长什么样子(上)
java·jvm·后端
uzong10 小时前
我研读了 500 个 Spring Boot 生产级代码库,90% 都犯了这 7 个致命错误
后端
野生技术架构师11 小时前
金三银四面试总结篇,汇总 Java 面试突击班后的面试小册
java·面试·职场和发展
xiaobaoyu11 小时前
ssm知识点梳理
后端