java Spring Boot的介绍与初体验

目录
  • Spring Boot 介绍
  • 系统要求
    • 构建工具
    • Servlet 容器
  • 初体验
  • 总结

Spring Boot 介绍

Spring Boot用于创建可运行的、独立的、生产级的基于Spring的应用程序。Spring BootSpring和第三方库持约定大于配置的观念,以便可以轻松上手。大多数Spring Boot应用程序只需要很少的配置。

Spring Boot可以通过使用java -jar或更传统的war包部署来启动Java应用程序,Spring Boot的目标是:

为所有Spring开发提供从根本上更快且可广泛访问的体验。开箱即用。提供一系列大型项目通用的非功能特性(例如嵌入式服务器、安全性、指标、健康检查和外部化配置)。没有代码生成,也不需要XML配置。

系统要求

Spring Boot 2.6.2需要Java 8,并且兼容Java 17(包括Java 17 ),还需要Spring Framework 5.3.14或更高版本,博主的Spring Boot系列博客都将基于Spring Boot 2.6.2,它是目前最新的正式版。

构建工具

Spring Boot为以下构建工具提供了显式构建支持:

Maven 3.5+Gradle 6.8.x 6.9.x 7.x

Servlet 容器

Spring Boot支持如下图所示的嵌入式Servlet容器:

可以将Spring Boot应用程序部署到任何兼容Servlet 3.1+的容器。

初体验

使用IDEA创建Spring Boot应用程序,如下图所示进行操作。

使用Spring Initializer构建Spring Boot项目比较方便,可以让我们选择需要的依赖、Spring Boot版本、语言和打包方式,并且还会自动生成项目常用文件(如配置文件、静态文件的包、启动类等)。当然也可以使用Maven构建Spring Boot项目,博主平时喜欢使用Maven构建项目(自己写启动类、配置文件和pom.xml即可,可以让我们更加熟悉构建Spring Boot项目的流程),Spring Initializer应该也是通过Maven来构建项目,只不过在构建项目时提供了一些便利。

选择依赖和Spring Boot版本,博主带大家体验一下用Spring Boot编写一个接口的方便,因此需要web依赖(webflux以后也会介绍)。

构建的Spring Boot项目的结构如下图所示:

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.kaven</groupId>
    <artifactId>springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <name>springboot</name>
    <description>springboot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <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>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

启动类:

package com.kaven.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringbootApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootApplication.class, args);
    }
}

@SpringBootApplication注解是启动类的关键,它会开启自动配置和组件扫描,大家现在可以不用管这些,以后博主都会详细介绍。SpringApplication.run()则会创建和管理应用上下文以及打印Banner等。

启动应用,如下图所示进行操作:

启动成功,如下图所示:

写一个Hellow World接口,根据习惯,将接口放在controller包下。

package com.kaven.springboot.controller;

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

@RestController
public class HelloWorldController {
    @GetMapping("/helloworld")
    public String helloWorld() {
        return "Hello World";
    }
}

@RestController是一个便利的注解,它组合了@Controller(带有此注解的类型被视为控制器)和@ResponseBody(指示方法的返回值应绑定到Web响应的Body中)注解。@GetMapping("/helloworld")注解定义了接口处理的请求类型(GET)和请求路径(/helloworld),用于处理请求。

重新启动应用,再访问接口,Spring Boot应用默认启动在8080端口上。

访问接口时,应用的控制台也有日志输出,DispatcherServlet是一种Servlet实现,可以用于将请求派发给指定的控制器中定义的接口,但它的作用不仅如此,以后博主也会详细介绍。

总结

到此这篇关于java Spring Boot的介绍与初体验的文章就介绍到这了,更多相关java Spring Boot内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java springboot的概述、特点与构建介绍

    目录 回顾Spring spring的优点: Spring Boot概述 SpringBoot特点 SpringBoot的核心功能 SpringBoot开发环境构建 回顾Spring springBoot是集成了spring的优点,优化了spring配置的一款框架,他的学习离不开spring,我们先回顾spring spring的优点: 优点: 1.开源,轻量级,非侵入式的一站式框架,简化企业级应用开发.   2.控制反转(IOC),依赖注入(DI)降低了组件之间的耦合性,实现了软件各层之间的解

  • Java Springboot全局异常处理

    目录 前言 一.思路? 二.步骤 1.自定义接口: 2.自定义错误枚举 3.自定义异常类 4.异常捕获 5.在代码中抛异常 总结 前言 对于作为菜鸟程序员的我来说,经常在controller使用try-catch 来包裹住我的service层代码,首页,他及其的不好看,其次,每个方法都有这种代码块,思考有没有办法去掉它,并且优雅的处理异常.这就是今天要说的全局异常捕获 提示:以下是本篇文章正文内容,下面案例可供参考 一.思路? springboot提供了全局异常处理的注解,我们需要弄明白的是.扑

  • Java SpringBoot核心源码详解

    目录 SpringBoot源码主线分析 1.SpringBoot启动的入口 2.run方法 3.SpringApplication构造器 4.run方法 总结 SpringBoot源码主线分析 我们要分析一个框架的源码不可能通过一篇文章就搞定的,本文我们就来分析下SpringBoot源码中的主线流程.先掌握SpringBoot项目启动的核心操作,然后我们再深入每一个具体的实现细节,注:本系列源码都以SpringBoot2.2.5.RELEASE版本来讲解 1.SpringBoot启动的入口 当我

  • java Spring Boot的介绍与初体验

    目录 Spring Boot 介绍 系统要求 构建工具 Servlet 容器 初体验 总结 Spring Boot 介绍 Spring Boot用于创建可运行的.独立的.生产级的基于Spring的应用程序.Spring Boot对Spring和第三方库持约定大于配置的观念,以便可以轻松上手.大多数Spring Boot应用程序只需要很少的配置. Spring Boot可以通过使用java -jar或更传统的war包部署来启动Java应用程序,Spring Boot的目标是: 为所有Spring开

  • Java Spring Boot消息服务万字详解分析

    目录 消息服务概述 为什么要使用消息服务 异步处理 应用解耦 流量削峰 分布式事务管理 常用消息中间件介绍 ActiveMQ RabbitMQ RocketMQ RabbitMQ消息中间件 RabbitMQ简介 RabbitMQ工作模式介绍 Work queues(工作队列模式) Public/Subscribe(发布订阅模式) Routing(路由模式) Topics(通配符模式) RPC Headers RabbitMQ安装以及整合环境搭建 安装RabbitMQ 下载RabbitMQ 安装R

  • 一文搞明白Java Spring Boot分布式事务解决方案

    目录 前言 1. 什么是反向补偿 2. 基本概念梳理 3. 什么是两阶段提交 4. AT 模式 5. TCC 模式 6. XA 模式 7. Saga 模式 前言 分布式事务,咱们前边也聊过很多次了,网上其实也有不少文章在介绍分布式事务,不过里边都会涉及到不少专业名词,看的大家云里雾里,所以还是有一些小伙伴在微信上问我. 那么今天,我就再来一篇文章,和大家捋一捋这个话题.以下的内容主要围绕阿里的 seata 来和大家解释. 1. 什么是反向补偿 首先,来和大家解释一个名词,大家在看分布式事务相关资

  • Java spring boot 实现支付宝支付功能的示例代码

    一.准备工作: 1.登陆支付宝开发者中心,申请一个开发者账号. 地址:https://openhome.alipay.com/ 2.进入研发服务: 3.点击链接进入工具下载页面: 4.点击下载对应版本的RSA公钥生成器: 5.生成公钥密钥(记录你的应用私钥): 6.在支付宝配置公钥(点击保存): 二.搭建demo 1.引入jia包: <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alip

  • Java Spring Boot实战练习之单元测试篇

        一.关于JUnit的一些东西   在我们开发Web应用时,经常会直接去观察结果进行测试.虽然也是一种方式,但是并不严谨.作为开发者编写测试代码来测试自己所写的业务逻辑是,以提高代码的质量.降低错误方法的概率以及进行性能测试等.经常作为开发这写的最多就是单元测试.引入spring-boot-starter-testSpringBoot的测试依赖.该依赖会引入JUnit的测试包,也是我们用的做多的单元测试包.而Spring Boot在此基础上做了很多增强,支持很多方面的测试,例如JPA,Mo

  • 一分钟入门Java Spring Boot彻底解决SSM配置问题

    使用 IDEA 直接创建项目 1.创建一个新项目 2.选择spring initalizr 选择初始化组件Web 等待项目构建成功 在com.longdi.helloworld包下新建一个HelloController类 package com.longdi.helloworld.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bin

  • Java Spring boot实现生成二维码

    目录 一.引入springboot依赖: 二.工具类代码: 三.调用工具类生成二维码 1.将链接生成二维码图片并保存到指定路径 2.将链接生成二维码直接显示在页面 3.将以get请求传参链接生成二维码 总结 一.引入spring boot依赖: <!--引入生成二维码的依赖--> <!-- https://mvnrepository.com/artifact/com.google.zxing/core --> <dependency> <groupId>co

  • Java Spring Boot请求方式与请求映射过程分析

    目录 请求方式 非Rest风格 使用Rest风格 表单提交 过程分析 请求映射过程分析 请求方式 Spring Boot支持Rest风格:使用HTTP请求方式的动词来表示对资源的操作 非Rest风格 以前这样写接口: /getUser 获取用户 /deleteUser 删除用户 /updateUser 修改用户 /saveUser 保存用户 @RequestMapping(value = "/getUser", method = RequestMethod.GET) public St

  • Java Spring Boot 集成Zookeeper

    目录 集成步骤 1.pom.xml文件配置,引入相关jar包 2. 核心配置类 3.常用API功能 4.基本使用 常见错误和解决办法 问题1:调用api创建zookeeper节点时,报KeeperErrorCode = Unimplemented for /test错误. 问题2:启动项目的日志中会有Will not attempt to authenticate using SASL错误 集成步骤 1.pom.xml文件配置,引入相关jar包 Curator是Netflix公司开源的一套zoo

  • java Spring Boot 配置redis pom文件操作

    1.创建一个redis maven项目,在pom中添加如下信息 spring boot 版本 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.4.RELEASE</version> </parent> 项目相关jar配置 &l

随机推荐