用Maven开发Spring Boot 项目

news2024/11/15 11:53:13

一、初识 Spring Boot

Spring Boot框架是一 套开源的后台开发框架,  继承了Spring MVC框架的前辈SSM框架的优秀特性,通过注解大幅减少程序员写配置的工作量。从企业开发角度来看,它提供了自动化配置,内嵌容器和兼容Maven等核心功能,有利于程序员专注于业务逻辑,而无须关注请求跳转、服务配置等的实施细节。

Spring框架包含如表所示的组件,能为开发JAVA 项目提供全面的支持,在WEB项目中会频繁地包

含请求跳转、前后端数据交互和请求拦截处理等动作,为减少程序员工作量,引入如下图所示的MVC框架。

在Spring体系中,较早实现MVC框架的有Struts-Spring-Hibernate(SSH)框架和Spring-Spring MVC+MyBatis(SSM)框架,为了进一步在保证功能的前提下优化项目的开发流程,Pivotal公司于2014年4 月发布了Spring Boot 的第一个版本,当下该框架已经升级到了3.2.1版本。

Spring Boot框架用注解替代了XML配置,而且自带了Tomcat等Web服务器,所以程序员用此框架开发Web项目时,不仅有较好的开发体验,更能降低开发配置失误而导致的风险。

二、搭建Spring Boot 开发环境

(1)安装和配置JDK开发环境

        到JDK官网 https://www.oracle.com下载与计算机操作系统相匹配的版本,下载完成后,双击安装,并配置JAVA_HOME环境变量。

  (2)安装IDEA 集成开发环境

        到IDEA官网https://www.jetbrains,com/idea下载并安装。

  (3)安装Maven工具

       到Maven官网http://maven.apache.org/  下载并安装

   (4)Maven工具与IDEA集成

  打开IDEA集成开发环境,单击File-Settings菜单,在Settings的搜索栏中搜索"Maven"并进行相关设置。

三、开发Spring Boot 项目

(1)创建Spring Boot 项目

双击IDEA图标,打开IDEA开发工具,如图所示:

单击上图所示的红色框线内按钮,如下图所示:

单击上图所示左侧的“Maven Archetype”,然后再单击右侧的"New Project "

在上图红色框线内输入项目名称,在黄色框线内输入选择项目所在路径。

(2)通过 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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>myFirstSpringBootPrj</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--  导入springBoot版本和框架依赖 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.2</version>
        <relativePath/>
    </parent>
    <!--导入动态web场景启动器-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
   

    <properties>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

</project>

编写好上述文件后,右击pom.xml,在弹出的菜单项中选中Maven-Reload  project , 如图所示:

由此可以根据pom.xml中的定义导入项目所需的依赖包。成功导入后,就能在项目的External  Libraries中看到导入的JAR包。

(3)编写项目的启动类

在src/main/java的默认路径下,新建名为demo的package,  并在demo路径下编写SpringBootApp.java,具体代码:

package demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootApp {
    public static void main(String[] args){
        SpringApplication.run(SpringBootApp.class, args);
    }
}

                @SpringBootApplication : Spring Boot启动器注解

(4)编写控制器类

在demo路径下编写控制器类Controller.java,具体代码如下:

package demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class Controller {
    @RequestMapping("/hello") //标识一个方法,设置映射请求请求路径的具体要求信息
    public String sayHello(){
        return "Hello";
    }
}

                @RestController:  控制器注解,@RequestMapping: 请求映射注解

(5) 运行并观察效果

完成开发后, 在打开SpingBootApp的情况下,单击下图红色框线内按钮,启动Spring Boot项目,右击SpringBootApp.java,在弹出的菜单项中的run命令也可以启动项目。启动后,出现如图所示:

Spring Boot项目默认工作在本地的8080端口,运行以后,在浏览器的地址栏中输入http://localhost:8080/hello后,在浏览器中输出如下图的 “hello”字样。

四、Spring Boot 直观说明

(1)内嵌Tomcat 服务器,无须额外部署动作。

(2)默认监听本地的8080端口

(3)通过控制器监听本地8080端口上的请求,如果请求和控制器方法前的@RequestMapping注解匹配,则由该方法处理请求。

(4)以注解方式管理项目。

   此文从搭建开发环境开始,到Spinrg Boot项目结束,详细介绍了Spring Boot 项目入门流程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2075051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

银河麒麟桌面操作系统V10:如何快速将应用固定到任务栏?

银河麒麟桌面操作系统V10&#xff1a;如何快速将应用固定到任务栏&#xff1f; 1、图形界面方法2、命令行方法2.1 固定应用2.2 取消固定 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在银河麒麟V10中&#xff0c;/usr/share/applications…

Vue 绘制圆形 上下左右

效果图 代码&#xff1a; <div style"transform: rotate(45deg)"><div id"top"><div id"top-left" click"addformData(true, form.lat, 0.000003, lat)"><ArrowUpBold style"height: 25px; width: 25px; tr…

winform 实现优美的进度条 包含百分比

winform 原生控件中包含进度条控件 ProgressBar。 但这个控件并没有告诉我们如何在上面实现 显示百分比进度的方式&#xff0c;或者说根本就不支持。但没 有百分比显示的进度条是没有灵魂的&#xff0c;可能是有点让人一头雾水的。 还好我们可以通过实现 ProgressBar 的 OnP…

海康VisionMaster使用学习笔记18-常见问题排查

常见问题排查思路 常见问题排查方法-安装阶段 常见问题排查方法-启动阶段 常见问题排查方法-使用阶段 常见问题排查方法-相关资料

outlook在“对我发送的邮件应用规则”时只能移动邮件副本的问题和解决方案

outlook在“对我发送的邮件应用规则时”只能移动邮件副本的问题 问题描述问题的解决方案第一步第二步 其他说明参考 问题描述 如果我们想对自己发送的邮件进行分类&#xff0c;可以使用规则将已发送的邮件移动到指定文件夹中&#xff0c;但是。当操作对象为“自己发送的邮件时…

运维学习————LVS集群和Keepalived+LVS高可用

目录 官网&#xff1a;LVS中文官网 一、概念 二、组成及软件工作层次图 ​编辑 三、整体架构 四、名词解释 五、三种工作模式 1、LVS-NAT 2、LVS-TUN 3、LVS-DR 六、DR模式的实现 1、克隆出LVS&#xff0c;配置虚拟IP 2、配置Nginx的虚拟IP Nginx1的配置 Nginx2…

Linux的一些实例

# 1.编写脚本&#xff0c;让用户输入firstname和lastname&#xff0c;最后在屏幕上显示your full name is&#xff1a; #!/bin/bash read -p "please input firstname:" var1 read -p "please input lastname:" var2 echo "your full name is:$var1…

【机器学习】线性回归的概念以及如何从最小二乘法推导到正规方程和实际线性回归实例(含python代码)

引言 线性回归是一种广泛应用于统计分析、经济预测、机器学习等领域的建模方法。它旨在通过自变量&#xff08;解释变量&#xff09;来预测因变量&#xff08;响应变量&#xff09;的值 文章目录 引言一、线性回归的概念1.1 线性回归的基本概念1.2 最小二乘法1.2.1 最小二乘法的…

来了!!!来了!!!--我需要在Docker中运行Java应用程序,但是没有Docker经验,你能给我一个简单的入门指南吗?

在Docker中运行Java应用程序的简单入门指南&#xff1a; 1.安装Docker 首先&#xff0c;确保你的系统上安装了Docker。你可以从Docker官网下载并安装适合你操作系统的Docker版本。 Windows10 安装 Docker&#xff0c;每个步骤作者亲测&#xff0c;细节记录最全教程 2. 编写D…

Sublime Text 配置 Terminal (CMD)

1. 安装package 按住 【ctrlshiftp】 , 在弹出的输入框中输入“install”&#xff0c;选择“install package”,回车,等待20秒左右 2. 安装terminal 按住 【ctrlshiftp】 , 在弹出的输入框中输入“install”&#xff0c;选择“install package”,回车,等待新弹窗出来&#…

稀土长余辉发光剂在陶瓷中的应用

稀土长余辉发光剂是一种特殊的发光材料&#xff0c;主要由稀土元素&#xff08;如镧、铈、钕、铽、镝等&#xff09;掺杂而成&#xff0c;基于电子陷阱机理&#xff0c;可实现长余辉效果&#xff0c;发光时间长达6-8小时。 稀土长余辉发光材料在陶瓷上的应用主要利用了其在激…

不相交的线(Lc1035)——动态规划

在两条独立的水平线上按给定的顺序写下 nums1 和 nums2 中的整数。 现在&#xff0c;可以绘制一些连接两个数字 nums1[i] 和 nums2[j] 的直线&#xff0c;这些直线需要同时满足&#xff1a; nums1[i] nums2[j]且绘制的直线不与任何其他连线&#xff08;非水平线&#xff09;相…

论文翻译:ChatGPT passing USMLE shines a spotlight on the flaws of medical education

ChatGPT passing USMLE shines a spotlight on the flaws of medical education https://journals.plos.org/digitalhealth/article?id10.1371/journal.pdig.0000205 ChatGPT 通过美国执业医师执照考试&#xff08;USMLE&#xff09;凸显了医学教育的缺陷 阿马拉奇B姆巴克韦1…

你不知道的100个国外搜索引擎升级版

首先是要支持国产品牌磁力狐&#xff0d;cilih.com DMOZ – 一个多语种、开放式网站目录。 Food Blog Search -可以让你从上千个博客和网站查找菜谱。 Swoogle – 一个语义、文件、术语和数据的搜索引擎&#xff0c;不同于普通的搜索引擎。 SimilarSiteSearch – 帮你找到相似…

排序------快速排序(C语言实现)

目录 快速排序算法 例题 题目描述 具体代码&#xff1a; 代码分析 函数定义&#xff1a; 主函数&#xff1a; 快速排序算法 快速排序&#xff08;QuickSort&#xff09;是一种高效的排序算法&#xff0c;它采用分治策略&#xff0c;通过选择一个“基准”元素并将其他元素…

计算机网络面试真题总结(五)

文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 说一说HTTP1.0&#xff0c;1.1&#xff0c;2.0 的区别 HTTP/1.0 H…

国际篮球联合会(FIBA)标准篮球比赛记录表

相关资源 下载地址>>https://download.csdn.net/download/boomcode/89675132 篮球比赛计时计分展示管理系统开发及使用手册>>

3D渐变的轮播图效果,有点儿意思!

阅读原文&#xff1a;原文地址 一、前言 在Web开发中&#xff0c;轮播图&#xff08;Carousel&#xff09;是一种非常常见的功能&#xff0c;用于展示图片或内容&#xff0c;通过自动或手动的方式切换不同的视图&#xff0c;在网页设计中扮演着重要的角色。 吸引注意力&…

用Python给英语单词批量划分音节

一、问题的缘起 最近&#xff0c;有网友在我的视频下面留言&#xff0c;问我可否把英语单词进行音节的划分&#xff1f;我以前也有同样的想法&#xff0c;但是始终没有得到解决。但是&#xff0c;我想使用python&#xff0c;学习英语的人都很多&#xff0c;说不定有人已经编写…

微信左滑删除聊天记录怎么恢复?记录找回秘籍,第一种更有效!

在日常的指尖滑动间&#xff0c;微信成为了我们生活中不可或缺的一部分&#xff0c;记录着与朋友、家人的温馨对话&#xff0c;以及工作中的重要信息。然而&#xff0c;当不小心的向左滑动&#xff0c;珍贵的聊天记录就会悄然消失。那么&#xff0c;微信左滑删除聊天记录怎么恢…