【Java框架】SpringBoot(一)基本入门

这篇具有很好参考价值的文章主要介绍了【Java框架】SpringBoot(一)基本入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SpringBoot介绍

  • 官网:https://spring.io/projects/spring-boot
  • Spring Boot(英⽂中是“引导”的意思),是⽤来简化Spring应⽤的搭建到开发的过程
    • Spring Boot 可以轻松创建可以“直接运行”的独立的、生产级的基于 Spring 的应用程序
    • Spring Boot 只要很少的Spring配置就可以完成第三方组件的整合
    • 因为“习惯优先于配置”的原则,使得Spring Boot在快速开发应⽤和微服务架构实践中得到⼴泛应⽤。
    • 装好JDK环境和 Maven⼯具就可以使用Spring Boot了

Spring Boot的诞生

  • 这一要求促使了 2013 年初,开始启动Spring Boot 项目的研发。
  • Spring Boot的设计初衷是解决Spring各个版本配置工作过于繁重的问题,简化搭建流程、降低开发难度,使开发人员只需要专注应用程序的功能和业务逻辑的实现,而不用再配置上花费太多的时间。
  • Spring Boot使用“习惯优先于配置”的理念,提供了很多已经集成好的方案,以便于程序员在开发程序时能做到零配置或极简配置。
  • Spring Boot 并不是用来替代 Spring 的解决方案,而是和Spring 框架紧密结合用于提升 Spring 开发者体验的工具。

SpringBoot特点

  1. 可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
  2. 内嵌Tomcat或Jetty等Servlet容器;
  3. 提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
  4. 尽可能自动配置Spring容器;
  5. 提供准备好的特性,如指标、健康检查和外部化配置;
  6. 绝对没有代码生成,不需要XML配置。

Spring和Spring Boot的关系

  • Spring框架为开发Java应用程序提供了全面的基础架构支持。它包含一些很好的功能,如依赖注入和开箱即用的模块,如:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test等这些模块缩短应用程序的开发时间,提高了应用开发的效率。
  • Spring Boot是Spring框架的扩展和自动化,它消除了设置Spring应用程序所需的XML配置,使得开发变得更快、更高效、更自动化。
  • Spring Boot 不是Spring 的替代者。Spring Boot 其实是依赖 Spring 框架来管理对象的依赖。Spring Boot 并不是Spring 的精简版本,而是为使用 Spring做好各种企业级项目开发的准备。

Spring Boot的优点和缺点

Spring Boot优点

  • 快速构建项目,开箱即用,提供各种默认配置来简化项目配置
  • 直接嵌入Tomcat、Jetty或Undertow等内嵌式容器简化Web项目,可独立运行
  • 没有冗余代码生成和XML配置的要求
  • 对主流开发框架的无缝集成
  • 提供运行时的应用监控
  • 极大地提高了开发、部署效率

Spring Boot缺点

  • 版本迭代速度很快,需要关注版本的变化
  • 配置简化,排错要求高
  • 入门容易,深入原理难

快速创建Spring Boot项目

其实 Spring Boot 工程本质上就是一个 Maven 工程

  • 在线方式(Spring Initializr):https://start.spring.io

  • Maven工程
    【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web

  • IDEA工具方式
    【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web

IDEA创建SpringBoot工程

1.打开IDEA,选择Spring Initlializr

【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web

2.选择SpringBoot版本和初始化依赖

【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web

3.更改boot版本和JDK版本

【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web

4.启动

直接启动package中默认的MybootApplication中的main即可
启动LOGO
【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web

Spring Boot项目的结构解析

pom.xml文件中的父级依赖

  • Spring Boot父级依赖: 这个标签是在配置 Spring Boot 的父级依赖,有了这个,当前的项目才是 Spring Boot 项目,spring-boot-starter-parent 是一个特殊的 starter ,它用来提供相关的 Maven 默认依赖,使用它之后,常用的包依赖就可以省去 version 标签
    【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web

开箱即用的起步依赖 spring-boot-starter-xx

  • 为什么引入 spring-boot-starter-web 就能使用 Spring MVC 的功能呢?
    【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web
  • 看到这应该明白了吧, spring-boot-starter-web 这个 starter 中其实内部引入了 Spring 、 SpringMVC 、 Tomcat 的相关依赖,当然能够直接使用Spring MVC相关的功能了。

Spring Boot项目的入口类

  • 项目创建成功以后,会创建启动类,类的命名:项目名+Application。MybootApplication是一个很关键的启动类,程序的入口就是这里@SpringBootApplication是Spring Boot项目的核心注解,主要目的是开启自动配置

SpringBoot的核心注解:@SpringBootApplication

启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要组合包含了以下3 个注解:

  • @SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
  • @EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。
  • @ComponentScan:Spring组件扫描

Spring Boot项目的配置文件

  • Spring Boot 支持两种配置文件形式
    • .properties
    • .yml(推荐使用)
  • Spring Boot 使用一个全局的配置文件 application.properties 或 application.yml,放置在【src/main/resources】目录下
  • Spring Boot 的全局配置文件的作用是对一些默认配置的配置值进行修改
  • 创建Spring Boot 工程时,默认 resources 目录下就有 application.properties 文件

yml格式的配置文件

  • YAML的配置方式,都采用阶梯化缩进的方式展现,其结构显得更为清晰易读

语法规则

  • 大小写敏感
  • 数据值前必须有空格,作为分隔符
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • “#”表示注释

案例:修改启动端口

【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web

Spring Boot 项目的启动Banner

若要修改启动LOGO,在src/main/resources目录下新建banner.txt文件,然后将自己的图案黏贴进去即可,比如:

 
//                          _ooOoo_                               //
//                         o8888888o                              //
//                         88" . "88                              //
//                         (| ^_^ |)                              //
//                         O\  =  /O                              //
//                      ____/`---'\____                           //
//                    .'  \\|     |//  `.                         //
//                   /  \\|||  :  |||//  \                        //
//                  /  _||||| -:- |||||-  \                       //
//                  |   | \\\  -  /// |   |                       //
//                  | \_|  ''\---/''  |   |                       //
//                  \  .-\__  `-`  ___/-. /                       //
//                ___`. .'  /--.--\  `. . ___                     //
//              ."" '<  `.___\_<|>_/___.'  >'"".                  //
//            | | :  `- \`.;`\ _ /`;.`/ - ` : | |                 //
//            \  \ `-.   \_ __\ /__ _/   .-` /  /                 //
//      ========`-.____`-.___\_____/___.-`____.-'========         //
//                           `=---='                              //
//      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        //
//            佛祖保佑       永不宕机      永无BUG                //
                               _(\_/) 
                             ,((((^`\
                             ((((  (6 \ 
                          ,((((( ,    \
       ,,,_              ,(((((  /"._  ,`,
      ((((\\ ,...       ,((((   /    `-.-'
      )))  ;'    `"'"'""((((   (      
    (((  /            (((      \
      )) |                      |
     ((  |        .       '     |
     ))  \     _ '      `t   ,.')
     (   |   y;- -,-""'"-.\   \/  
    )   / ./  ) /         `\  \
        |./   ( (           / /'
        ||     \\          //'|
        ||      \\       _//'||
        ||       ))     |_/  ||
        \_\     |_/          ||
        `'"                  \_\
                             `'"

Spring Boot中简化编码

代码示例

  1. 需求:新建"HelloController"控制器,定义方法index,输出”Hello,String Boot”。
  2. 添加包名com.zjl.controller,添加新的类HelloController
  3. 注意事项:处理请求的控制器必须和程序入口类在同一级别的包中(例如:在com包),否则无法使用
package com.zjl.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author: zjl
 * @datetime: 2024/4/22
 * @desc:
 */
@RestController
public class HelloController {
    @RequestMapping("/index")
    public Object index(){
        return "Hello,String Boot";
    }
}

思考

不仅仅是@Controller的类,还有@Service的类、@Mapper的接口、@Component的类等这类注解,为什么要放在启动类所在的包下呢?
【Java框架】SpringBoot(一)基本入门,Java,SpringBoot,java,spring boot,开发语言,spring,spring cloud,后端,web- 启动类头上,核心注解@SpringbootApplication这个注解是由三个注解组成的,点开一开:注意 @ComponentScan 这个注解

  • @ComponentScan 这个注解的作用是告诉spring,哪里可以找到bean, 如果在启动类没有配置这个注解,则默认扫描启动类所在的包的同级目录和它的子包,也可以配置具体路径扫描。 基于这个作用所以不能把启动类放在Java文件下,首先Java文件不是一个包,其次它是一个资源文件。故只要一启动就会报错!!!
  • 做过web开发的同学一定都有用过@Controller,@Service,@Repository注解,查看其源码你会发现,他们中有一个共同的注解@Component,没错@ComponentScan注解默认就会装配标识了@Controller,@Service,@Repository,@Component注解的类到spring容器中
  • 同时,它还可以扫描到所有的配置类,将配置类中的配置扫描到容器中!

所以,放在“指定位置”上,是一种规定!!!文章来源地址https://www.toymoban.com/news/detail-856383.html

到了这里,关于【Java框架】SpringBoot(一)基本入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java 框架面试题-Spring Boot自定义配置与自动配置共存

    Spring Boot 是一个快速开发框架,可以简化 Spring 应用程序的开发,其中自定义配置是其中一个非常重要的特性。 在 Spring Boot 中,自定义配置允许开发者以自己的方式来配置应用程序。自定义配置可以用于覆盖默认配置,也可以用于添加新的配置项。本文将详细介绍 java框架面

    2023年04月11日
    浏览(54)
  • 入门Spring Boot:快速构建Java应用的利器

    Spring Boot是由Pivotal团队开发的开源框架,它基于Spring框架,旨在简化Java应用程序的开发过程。它提供了一种约定大于配置的方式,通过自动配置和起步依赖(Starter Dependencies)来消除繁琐的配置,从而使开发者能够更快地构建独立、可执行的、生产级的Spring应用。 与传统的

    2024年02月07日
    浏览(47)
  • 探索Java中最常用的框架:Spring、Spring MVC、Spring Boot、MyBatis和Netty

    🎉欢迎来到Java面试技巧专栏~探索Java中最常用的框架:Spring、Spring MVC、Spring Boot、MyBatis和Netty ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:Java面试技巧 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习

    2024年02月08日
    浏览(59)
  • 手把手搭建 java spring boot 框架 maven 项目 web 网址访问

    第一步我们去  spring boot 官网创建项目并下载压缩包  创建项目网址: Spring Initializr https://start.spring.io/ 我们添加一个 srping web 的拓展包 接下来我们点击 generate 创建 并下载压缩包即可 接下来我们将压缩文件包解压到项目根目录使用编辑器打开即可,如果编辑器提示 点击构

    2024年04月23日
    浏览(46)
  • JAVA开发(Spring框架详解)

    javaweb项目几乎已经离不开spring框架了,spring 是一个典型的分层架构框架,它包含一系列的功能并被分为多个功能模块,springboot对spring框架又做了一层封装,以至于很多人对原来的spring框架越来越不了解。         要谈Spring的历史,就要先谈J2EE。J2EE应用程序的广泛实现是

    2023年04月20日
    浏览(40)
  • Java开发框架:Spring介绍

    Spring 是 Java EE 编程领域中的一个轻量级开源框架,由 Rod Johnson 在 2002 年最早提出并随后创建,目的是解决企业级编程开发中的复杂性,实现敏捷开发的应用型框架 。其中,轻量级表现在 Spring 是非侵入式的,即开发应用中的对象可以不依赖于 Spring 的 API 类。另外,Spring 针对

    2024年02月08日
    浏览(55)
  • “深入解析Spring Boot:快速开发Java应用的利器“

    标题:深入解析Spring Boot:快速开发Java应用的利器 摘要:Spring Boot是一个开发Java应用的利器,它简化了Spring应用的配置和部署过程,提供了快速构建和开发Java应用的能力。本文将深入解析Spring Boot的核心特性和优势,并通过示例代码来展示如何使用Spring Boot进行快速应用开发

    2024年02月16日
    浏览(51)
  • Java 重试框架 Spring-Retry | 快速入门

    👉 本节目标:了解传统重试的写法以及 Spring-Retry 快速入门。 下面使用一个例子来讲述:调用第三方接口获取数据,支持重试 3 次,每次重试间隔 5 秒。 传统写法 :while 循环,判断是否有异常,有异常则重试,并使用 Thread 延迟,直到重试次数用完或重试成功为止。 调用第

    2024年04月10日
    浏览(42)
  • 【Java开发】 Spring 11 :Spring Boot 项目部署至云服务器

    Spring Boot 项目开发结束后的工作便是运维,简单来说需要配置 Web 运行参数和项目部署两大工作,本文将尽可能详细地给大家讲全! 目录 1 定制 Web 容器运行参数 1.1 运行参数介绍 1.2 项目搭建 ① 通过 IDEA Spring Initializr 创建项目 ② 添加 Spring Web 等依赖 ③ 编写 controller 层的

    2023年04月23日
    浏览(60)
  • Java开发 - 问君能有几多愁,Spring Boot瞅一瞅。

    首先在这里恭祝大家新年快乐,兔年大吉。本来是想在年前发布这篇博文的,奈何过年期间走街串巷,实在无心学术,所以不得不放在近日写下这篇Spring Boot的博文。在还没开始写之前,我已经预见到,这恐怕将是我从业以来写过最长的博文了。前一篇Java开发 - Mybatis框架初体

    2024年02月19日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包