javaee实验:搭建maven+spring boot开发环境,开发“Hello,Spring Boot”应用

目录

  • maven
  • springboot
  • 实验目的
  • 实验内容
  • 环境的搭建

在开发中,maven和spring都是非常常用、非常重要的管理工具和框架,今天就在这里使用idea进行环境的搭建和创建第一个spring程序

maven

1.1maven是一个跨平台的项目管理工具(主要管理jar包)

1.2它是Apache的一个开源项目,主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。不重复发明轮子

1.3简单、交流与反馈、测试驱动开发(TDD)、十分钟构建、持续集成(CI)、富有信息的工作区。Maven几乎友好的支持任何软件开发方法;Maven帮助快速发布项目

springboot

SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以SpringBoot是一个服务于框架的框架,服务范围是简化配置文件

2.1、独立运行Spring项目

Spring boot 可以以jar包形式独立运行,运行一个Spring Boot项目只需要通过 java -jar xxx.jar 来运行

2.2、内嵌servlet容器

Spring Boot可以选择内嵌Tomcat、jetty或者Undertow,这样我们无须以war包形式部署项目

2.3、提供starter简化Maven配置

spring提供了一系列的start pom来简化Maven的依赖加载,例如,当你使用了spring-boot-starter-web,会自动加入依赖包

2.4、自动装配Spring

SpringBoot会根据在类路径中的jar包,类、为jar包里面的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,SpringBoot只考虑大多数的开发场景,并不是所有的场景,若在实际开发中我们需要配置Bean,而SpringBoot灭有提供支持,则可以自定义自动配置

2.5、准生产的应用监控

SpringBoot提供基于http ssh telnet对运行时的项目进行监控

2.6、无代码生产和xml配置

SpringBoot不是借助与代码生成来实现的,而是通过条件注解来实现的,这是Spring4.x提供的新特性

3、SpringBoot优缺点

优点:
3.1、快速构建项目
3.2、对主流开发框架的无配置集成
3.3、项目可独立运行,无须外部依赖Servlet容器
3.4、提供运行时的应用监控
3.5、极大的提高了开发、部署效率
3.6、与云计算的天然集成
缺点:
3.1、如果你不认同spring框架,也许这就是缺点

4、SpringBoot特性

4.1、创建独立的Spring项目
4.2、内置Tomcat和Jetty容器
4.3、提供一个starter POMs来简化Maven配置
4.4、提供了一系列大型项目中常见的非功能性特性,如安全、指标,健康检测、外部配置等
4.5、完全没有代码生成和xml配置文件

5、SpringBoot CLI
SpringBoot CLI 是SpringBoot提供的控制台命令工具

实验目的

(1) 掌握 Maven 的安装方法
(2) 学会使用 idea 集成 Maven 开发 Spring Boot 项目——“Hello,Spring Boot”

实验内容

(1) 下载和安装 Maven
(2) idea 配置 Maven
(3) 使用 idea 构建基于 Maven 的 Spring 项目——“Hello,Spring Boot”

环境的搭建

本文讲的是在idea中配置maven和搭建环境
首先打开idea,并新建一个项目
在这里插入图片描述
在创建项目的时候选择Spring Initializr
在这里插入图片描述
然后点击这个Server URL右边的齿轮,设置URL
在这里插入图片描述
设置成阿里云的URL,否则如果是默认的话下载会非常的慢,因为默认的idea会访问国外的官网,所以下载会很慢
在这里插入图片描述
选择jdk和java版本的时候一方面要互相对应,另一方面要和下载的maven版本对应,否则不管是后续的搭建还是运行都会出现一些古怪的问题
在这里插入图片描述
选择完之后点击next,进入下一个界面
在这里插入图片描述
这时注意到左上角的spring boot版本选择,同样要选择与maven版本对应的版本,否则同上会产生不可预料的结果,因为笔者下载的maven版本是3.6.1的,所以选择的版本不能在3以上,这里选择了2.7.6
在这里插入图片描述
在这个项目中,暂时还不需要更多的内容,所以点击web选择Spring web,后点击creat
在这里插入图片描述
创建好后等待加载完毕,之后出现项目布局,可以发现demos.web中就是它自动生成的内容在这里插入图片描述
差点忘了一件事情,进入上面的界面之后,点击file-setting
在这里插入图片描述
进入这个界面
在这里插入图片描述
这里要选择自己下载的maven的地址
在这里插入图片描述
然后在user setting file,勾选override后选择自己下载的maven包中的settings.xml
在这里插入图片描述
然后勾选下一行的override后点击apply
这也是为了让idea使用本地的包而不是访问国外的官网,会使速度快很多

运行一下试试水
在这里插入图片描述
看看效果
在这里插入图片描述
在网页试试,输入自己的端口号,笔者为9999
在这里插入图片描述

以上。

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

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

相关文章

Linux软件安装包管理器yum

Linux软件安装 Linux软件安装的本质 ​ 对于安装软件最基本的理解就是把可执行程序拷贝到指定路径下,我们知道直接输入指令就可以实现想要的功能,这些指令本质上都是放在指定路径下的可执行文件,如果我们把写好的程序编译后的可执行文件放到…

证明char是定长的?

证明char是定长的? 大部分博客都在讲解char和varchar区别的时候都谈到char为定长,varchar为变长。 但是怎么证明char为定长呢? 下面是我证明的过程。 创建CHAR列:首先,创建一个CHAR列,指定其长度。例如&…

10kb的照片尺寸怎么弄?三个方法值得一试!

为了方便存储和传输,同时还能保证一定的清晰度。10kb的照片在清晰度和尺寸之间达到了平衡,既能保证照片的细节和色彩,又不会占用太多的存储空间。那么如何把照片弄成10kb呢?下面介绍了三种方法。 方法一:嗨格式压缩大师…

GZ035 5G组网与运维赛题第10套

2023年全国职业院校技能大赛 GZ035 5G组网与运维赛项(高职组) 赛题第10套 一、竞赛须知 1.竞赛内容分布 竞赛模块1--5G公共网络规划部署与开通(35分) 子任务1:5G公共网络部署与调试(15分) 子…

Spring Cloud之Sentinel的简单学习

目录 雪崩问题 超时处理 线程隔离 熔断降级 流量控制 服务对比 安装Sentinel控制台 案例 簇点链路 限流规则 流控模式 直接模式 关联模式 链路模式 流控效果 Warm up 排队等待 热点参数限流 隔离与降级 Feign整合Sentinel 线程隔离 规则设置 熔断降级 …

RK3568外部IO中断示例

外部IO中断介绍 本篇文章以万象奥科HD-RK3568-IOT评估板中GPIO30为例,介绍Linux内核中断的注册方法,使用中断的方式检测GPIO30是否出现上升沿信号。中断在linux、设备驱动开发里使用的都非常多,可以更加实时的检测GPIO30的状态。 Linux内核…

高等数学教材重难点题型总结(九)多元函数微分法及其应用

第九章习题总结完毕,最难的应该就是方程组求解隐函数中的雅可比行列式了,其他方面无论是期末还是考研都不会出太多难题。对于多元极限和连续性质要理解得更深刻一些,而方向导数、梯度等公式,应该熟练掌握~ 1. 写出多元函数的定义域…

TypeScript 第一站概念篇

前言 🔮 好长一段时间没有写文章了,原因是经历了一次工作变动,加入了一个有一定规模的开发团队,前端算上我有四个人,很欣慰,体验一下团队配合的感觉,在我之上有一个组长,比我年长四…

Azure 机器学习 - 使用 AutoML 和 Python 训练物体检测模型

目录 一、Azure环境准备二、计算目标设置三、试验设置四、直观呈现输入数据五、上传数据并创建 MLTable六、配置物体检测试验适用于图像任务的自动超参数扫描 (AutoMode)适用于图像任务的手动超参数扫描作业限制 七、注册和部署模型获取最佳试用版注册模型配置联机终结点创建终…

Spark的主要概念

文章目录 🔊博主介绍🥤本文内容🍊 1. RDD🍊 2. Spark SQL🍊 3. Spark Streaming🍊 4. MLlib🍊 5. GraphX🍊 总结 📢文章总结📥博主目标 🔊博主介绍…

ubuntu20.04配置解压版mysql5.7

目录 1.创建mysql 用户组和用户2.下载 MySQL 5.7 解压版3.解压 MySQL 文件4.将 MySQL 移动到适当的目录5.更改mysql目录所属的用户组和用户,以及权限6.进入mysql/bin/目录,安装初始化7.编辑/etc/mysql/my.cnf配置文件8.启动 MySQL 服务:9.建立…

在Linux上编译gdal3.1.2指南

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 以Ubuntu 18编译gdal3.1.2为例,编译gdal3.1.2需要先编译proj库和geos库(可选)。我选择的proj库版本为proj-7.1.0,编译proj-7.1.0需要先编译tiff库和sqlite3。我选择的sqlite3的版本为…

Unity的live2dgalgame多语言可配置剧情框架

这段代码用于读取表格 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using OfficeOpenXml; using System.IO; using UnityEngine.Networking; using UnityEngine.UI; using Random UnityEngine.Random;public class Plots…

工业5G路由器;小体积 千兆高速通信组网

计讯物联工业路由器TR232,5G高速网络,超低时延、高可靠性,小体积、易安装、强兼容,串口/网口多设备接入联网,为用户提供高速稳定的数据传输通道 。    小体积5G工业路由器TR323,外形1047824mm&#xff0…

系列六、Mybatis的一级缓存

一、概述 Mybatis一级缓存的作用域是同一个SqlSession,在同一个SqlSession中执行两次相同的查询,第一次执行完毕后,Mybatis会将查询到的数据缓存起来(缓存到内存中), 第二次执行相同的查询时,会…

ArmSom---SPI开发指南

1. 简介 RK3588从入门到精通本⽂主要介绍在Rockchip平台配置spi接口并且使用的方法开发板:ArmSoM-W3Kernel:5.10.160OS:Debian11 2. SPI接口概述 SPI(Serial Peripheral Interface),即串行外围设备接口&…

ElementuiPlus的table组件实现行拖动与列拖动

借助了插件sortablejs。这种方法只适合做非树状table。如果想实现树状table&#xff0c;并且可拖动。可以试一下aggridVue3这个插件 <template><div class"draggable" style"padding: 20px"><el-table row-key"id" :data"t…

RabbitMQ 消息对象 序列化/反序列化 天坑!异常处理方案

目录 1. 报错的背景 2. 问题分析 3. 最佳解决办法 1. 报错的背景 a&#xff09;使用 RabbitMQ 发送消息时&#xff0c;发送消息的类型为 Map<String, Object>&#xff0c;map 里面我 put 了一个 <String, Long> 类型&#xff0c;如下图&#xff1a; b&#xff…

【考研数据结构代码题2】删除单链表倒数第n个结点

题目&#xff1a;删除单链表倒数第n个结点 难度&#xff1a;★ 算法思路&#xff1a; 首先题目没有指明链表的长度&#xff0c;多以首先需要编写一个函数getLength()来求表长&#xff0c;其次删除倒数第n个结点&#xff0c;即删除正数第length-n1个结点&#xff0c;这是二者之间…

更快更准 | YOLOv3算法超详细解析(包括诞生背景+论文解析+技术原理等)

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。YOLOv3是一种基于深度学习的目标检测算法&#xff0c;它可以快速而准确地在图像中检测出多个目标。它是由Joseph Redmon和Ali Farhadi在2018年提出的&#xff0c;是YOLO&#xff08;You Only Look Once&#xff09;系列算法…