如何使用Spring初始化程序创建Spring Boot项目

你好朋友,

如果您以前使用过Spring框架,则必须意识到,即使要开始使用基本的Spring功能也需要付出一些真正的努力。有了Spring Boot,最初的麻烦就消失了,您可以在数分钟内开始使用。

欢迎来到Spring Boot的世界!!!

在本教程中,我们将看到创建Spring Boot项目的各种方法。

基本上,我们可以通过以下四种方式创建Spring Boot Project:

1.使用Spring.io初始化程序

2.使用Eclipse或任何类似的IDE和Maven简单项目

3.使用Spring Tool Suite

4.使用CLI

本教程将重点介绍使用Spring.io初始化程序创建Spring Boot项目。

1.使用Spring.io初始化程序的Spring Boot项目

脚步 :

步骤1:

开启网址:http://start.spring.io/

正如我们在上面的屏幕快照(您可以在下面引用摘录的部分)中看到的那样,默认情况下,它表示使用<Java>和Spring Boot <1.5.0>生成<Maven Project>。

但是,根据我们的要求,也可以选择使用<Kotlin> / <Groovy>和Sprig Boot <较低版本>生成<Gradle Project>。

在本教程中,我们将重点介绍带有Java和Spring Boot 1.5.10的Maven。

第2步:

在创建Maven项目时,我们知道每个Maven项目都有组和工件ID,因此此接口为我们提供了占位符,可在其中输入组和工件ID。

我们将输入以下内容作为组和工件ID:

组:nl.blogspot.javasolutionsguide.springboot

工件ID:springBootApp

第三步:
单击“生成完整版本”超链接,该超链接位于“生成项目”按钮下方。

第四步:
您会注意到以下附加字段:

描述 :这只是项目的描述。您可以对其进行适当更改,但与技术方面没有区别。

软件包名称:这是默认情况下将由Spring创建的软件包名称,当使用start.spring.io的GUI创建Spring引导项目时。

包装:这表示将项目打包为可交付成果的方式,这里有两个选择:

Jar – Java存档

战争–网络存档

我们首先使用Jar选项,在本教程的后面部分还将看到War。

Java版本:

在撰写本教程时,我们有三个选项7,8和9。我将使用默认选项Java 8。

步骤5:

在start.spring.io网页上向下滚动,您会在下面找到一个依赖项列表,您可以根据需要在应用程序中添加依赖项。在这里,我们将仅添加Web依赖项。为此,您只需要勾选该依赖项然后单击“生成项目”,此依赖项将添加到生成的项目中。

步骤6:

单击Generate Project,您将看到该项目将被下载并以您在Artifact文本框中输入的名称压缩到您的硬盘上。

步骤7:

使用WinZip提取项目,并在Package Explorer中右键单击,然后将Eclipse作为Maven项目导入,然后选择import…-> Existing Maven project-> Next->从硬盘驱动器中选择提取的项目->单击Finish。

步骤8:
您将在eclipse中看到一个符合Maven标准的Java项目。并且,您已经在Eclipse.Easy中设置了一个Spring Boot项目。 对。


步骤9:
让我们探索已创建的项目。

–打开Pom.xml,您会发现使用以下在GUI中定义的项目坐标创建了Pom。

<groupId>nl.blogspot.javasolutionsguide.springboot</groupId><artifactId>springBootApp</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>springBootApp</name><description>Demo project for Spring Boot</description>

–后面的parent也被自动添加(注意,这是Spring Boot的魔力:)。

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

它将确保将以下Maven依赖项添加到项目中。您可以尝试从pom.xml中删除spring-boot-starter-parent并保存该项目,您会注意到所有以下依赖项都将消失。

–在上面的依赖性列表中,您必须已经注意到,Spring Boot还为嵌入式Tomcat添加了依赖性,因此您无需在Eclipse中显式安装或配置tomcat。

–同样,您会发现自动添加了以下属性,依赖项和插件。请记住,当我们在start.spring.io GUI中选择Web时,依赖项spring-boot-starter-web已添加到POM文件中。

<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><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>

–如果打开src / main / java,您将看到我们在start.spring.io GUI中提到的包已创建,即“ nl.blogspot.javasolutionsguide.springboot.springBootApp”

–在上述软件包中,您将找到一个SpringBootAppApplication类。因此,在指定的软件包中将创建一个名称为<Project of Name>的类,并在其后附加“ Application”字样。

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

–上面的类级别使用的@SpringBootApplication注释基本上等效于以下三个注释的组合:

@Configuration
@EnableAutoConfiguration
@ComponentScan

我们将在后续教程中讨论有关这些注释的更多信息。

–从SpringBootAppApplication的主要方法中,调用SpringApplicaiton类的run方法。此方法可确保初始化Spring应用程序的applicationContext(Spring容器)。SpringBoot使用AnnotaionConfigApplicationContext。

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

步骤10:
运行SpringBootAppApplication的main方法,您会注意到jar已自动部署到嵌入式Tomcat服务器,并且Tomcat服务器已在端口8080处启动。

查看Eclipse的控制台日志:

步骤11:
现在,当我们的代码已部署在Tomcat上并且Tomcat已启动并正在运行时,让我们尝试打8080。

哦……错误页面,上面写着:“此应用程序没有/ error的显式映射,因此您将其视为后备。”

步骤12:
让我们继续,通过在新包下创建ErrorHandlerController为/ error添加映射

nl.blogspot.javasolutionsguide.springboot.controller。

@RestController
public class ErrorHandlerController implements ErrorController{private static final String PATH = "/error";@RequestMapping(value=PATH)public String error() {return "Error Handling";}@Overridepublic String getErrorPath() {return PATH;}}

请注意,此控制器需要实现Spring Boot提供的ErrorController接口,而我们需要实现它的getErrorPath()方法。

就像我之前告诉的@SpringBootApplication已经包含@EnableAutoConfiguration一样,这意味着我们不需要做所有配置,否则我们将不得不通过Rest控制器来处理请求,例如配置DispatcherServlet。

还要注意,由于我们已经在新程序包中创建了该控制器,并且默认情况下,Spring只会检查nl.blogspot.javasolutionsguide.springboot.springbootapp程序包,因此我们需要告诉Spring也应该扫描这个新程序包。需要在类级别的SpriingBootAppApplication类中添加以下内容:

@ComponentScan({"nl.blogspot.javasolutionsguide.springboot.springBootApp","nl.blogspot.javasolutionsguide.springboot.controller"})So SpringBootAppApplicaiton class will look like below now :@ComponentScan({"nl.blogspot.javasolutionsguide.springboot.springBootApp","nl.blogspot.javasolutionsguide.springboot.controller"})
@SpringBootApplication
public class SpringBootAppApplication {public static void main(String[] args) {SpringApplication.run(SpringBootAppApplication.class, args);}}

步骤13:
现在再次运行SpringBootApplication类,现在如果达到8080,我们将在网页上显示“错误处理”,如下所示:


同样,根据项目需求,我们可以有n个控制器,并且可以处理请求并将有效响应发送回网页。

这就是如何使用Spring Initializer创建Spring Boot项目的所有朋友。在后续教程中,我们将通过其他方式创建Spring Boot项目。订阅以在您的邮箱中获取下一个教程。

感谢您的阅读。如果您喜欢它,请喜欢我们的Facebook页面并分享这篇文章,以支持我。

翻译自: https://www.javacodegeeks.com/2018/02/create-spring-boot-project-spring-initializer.html

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

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

相关文章

计算机组成原理,计算机系统总线,总线分类、特性、性能指标、结构以及总线控制,判优控制通信控制

文章目录总线的基本概念总线的分类总线特性及性能指标总线结构总线控制一、总线判优控制二、总线通信控制总线的基本概念 一、总线是连接各个部件的信息传输线&#xff0c;是各个部件共享的传输介质。 二、总线上信息的传送有串行和并行&#xff1a; 三、总线结构计算机举例…

传感与检测技术,Pt100热电阻测温实验报告,江南大学物联网

public class LeastSquares {public static void matching(double[] x, double[] y, double[] input, double fully) {double k getK(x, y);double b getB(x, y);System.out.println("线性回归系数 k 值&#xff1a;\t" k "\n" "线性回归系数 b …

传感与检测技术,光电二极管和光敏电阻的特性研究实验报告,江南大学物联网工程学院自动化

前些天发现了十分不错的人工智能学习电子书&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 江南大学物联网工程学院传感与检测技术《光电二极管和光敏电…

将HTML转换为Apache POI的RichTextString

1.概述 在本教程中&#xff0c;我们将构建一个将HTML作为输入的应用程序&#xff0c;并使用提供HTML的RichText表示形式创建Microsoft Excel工作簿。 为了生成Microsoft Excel工作簿&#xff0c;我们将使用Apache POI 。 为了分析HTML&#xff0c;我们将使用Jericho。 Github上…

MySQL常见问题的解决,root用户密码忘记,不是内部或外部命令,修改数据库和表的字符编码,命令行客户端的字符集问题

文章目录问题1&#xff1a;root用户密码忘记&#xff0c;重置的操作问题2&#xff1a;mysql命令报“不是内部或外部命令”问题3&#xff1a;错误ERROR &#xff1a;没有选择数据库就操作表格和数据问题4&#xff1a;命令行客户端的字符集问题问题5&#xff1a;修改数据库和表的…

win10下最新MySQL8.0安装与环境配置,Navicat图形化管理工具连接,完整详细可收藏

微信公众号&#xff1a;创享日记 发送&#xff1a;sqlyog 获取SQLyog客户端安装包 文章目录一、MySQL的卸载二、MySQL的下载安装和配置三、MySQL的开启和登录四、MySQL图形化管理工具一、MySQL的卸载 步骤1&#xff1a;停止MySQL服务 在卸载之前&#xff0c;先停止MySQL8.0的服…

Fn函数来构建Oracle ADF应用程序

在我以前的一篇文章中&#xff0c;我描述了如何创建一个Docker容器作为ADF应用程序的构建器。 在这里&#xff0c;我将展示如何将此容器用作 在FN平台的功能 。 首先&#xff0c;让我们更新容器&#xff0c;使其符合功能要求&#xff0c;这意味着可以将其作为接受某些参数的可…

MySQL基本的SELECT语句,SQL语言概述,基础和重要不冲突,完整详细可收藏

文章目录1、SQL语言的分类2、SQL语言的规则与规范3、基本的SELECT语句4、DESCRIBE显示表结构5、WHERE过滤数据1、SQL语言的分类 SQL语言在功能上主要分为如下3大类&#xff1a; DDL&#xff08;Data Definition Languages、数据定义语言&#xff09;&#xff0c;这些语句定义…

MySQL运算符,SQL,算术比较逻辑位,优先级,正则表达式,完整详细可收藏

文章目录1、算术运算符2、比较运算符3、逻辑运算符4、位运算符5、运算符的优先级拓展&#xff1a;使用正则表达式查询1、算术运算符 算术运算符主要用于数学运算&#xff0c;其可以连接运算符前后的两个数值或表达式&#xff0c;对数值或表达式进行加&#xff08;&#xff09;…

苹果原装转接头不能连html,变革之际 iPhone 7P原装lightning耳机及转接头拆解

苹果最新推出的iphone7 系列&#xff0c;最大的改动是取消了3.5mm耳机孔&#xff0c;用lightning接口取代&#xff0c;这个看来也是趋势&#xff0c;安卓手机有几款也是直接用Type-c的接口解决音频、充电问题的。lightning耳机的接口最大的不便不能同时听歌充电&#xff0c;只能…

java 反射api_Java的反射API

java 反射api如果您曾经问​​过自己以下问题&#xff1a; –“如何在字符串中仅包含其名称的方法调用&#xff1f;” –“如何动态列出类中的所有属性&#xff1f;” –“如何编写将任何给定对象的状态重置为默认值的方法&#xff1f;” 然后&#xff0c;您可能已经听说过…

MySQL多表查询,SQL,笛卡尔积等值连接自连接外连接,SQL99新特性,完整详细可收藏

文章目录1、笛卡尔积&#xff08;交叉连接&#xff09;2、等值连接 vs 非等值连接3、自连接 vs 非自连接4、内连接 vs 外连接5、SQL99语法新特性多表查询&#xff0c;也称为关联查询&#xff0c;指两个或更多个表一起完成查询操作。 前提条件&#xff1a;这些一起查询的表之间…

针对开发人员的Microsoft SQL Server元数据

Microsoft SQL Server 2016最近在关系数据库管理系统&#xff08;RDBMS&#xff09;中处于领先地位。 高性能&#xff0c;安全性&#xff0c;分析和云兼容性的结合使其成为领先的RDBMS 。 SQL Server 2017甚至支持R和Python编程语言&#xff0c;这进一步提高了它在学术机构中的…

计算机怎么录制视频教程,怎么录制视频教程?查看电脑具体录屏方法

怎么录制视频教程&#xff1f;查看电脑具体录屏方法2020年04月07日 15:25作者&#xff1a;黄页编辑&#xff1a;黄页分享怎么录制视频教程?有时候在生活中遇到了喜欢的视频、直播等&#xff0c;想在电脑上通过录屏的方式记录下来。高质量的录屏视频怎么实现?其实具体录屏的方…

加密解密,MySQL单行函数,数学函数字符串日期时间,流程控制,完整详细可收藏查询SQL

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 文章目录1、函数的理解2、数值函数2.1 基本函数2.2 角度与弧度…

无锡太湖学院计算机科学与技术宿舍,无锡太湖学院宿舍条件,宿舍环境图片(10篇)...

无锡太湖学院宿舍条件,宿舍环境图片(10篇)大学宿舍是一个神奇的地方&#xff0c;来自于天南地北的同学聚集在一个屋檐下&#xff0c;并将在一起度过宝贵的大学时光。人们常说&#xff0c;没有住过宿舍的大学是不完整的。当然不同的大学宿舍环境条件都不一样。高考升学网小编本文…

SELECT执行过程,MySQL聚合函数,多行分组函数,GROUP BY HAVING,详细完整可收藏

文章目录1、聚合函数介绍2、五个常用聚合函数3、GROUP BY4、HAVING5、SELECT的执行过程1、聚合函数介绍 聚合函数作用于一组数据&#xff0c;并对一组数据返回一个值。聚合函数不能嵌套调用。比如不能出现类似“AVG(SUM(字段名称))”形式的调用。 2、五个常用聚合函数 2.1 A…

嵌套套娃,MySQL子查询,单行与多行子查询,相关和不相关(关联)子查询,完整详细可收藏

文章目录1、需求分析与问题解决2、单行子查询3、多行子查询4、相关子查询5、抛一个思考题子查询指一个查询语句嵌套在另一个查询语句内部的查询&#xff0c;这个特性从MySQL 4.1开始引入。SQL 中子查询的使用大大增强了 SELECT 查询的能力&#xff0c;因为很多时候查询需要从结…

键盘连接在计算机的,技巧:如何在计算机键盘上输入连字符和破折号?

文字/连字符在哪里&#xff0c;我该如何输入&#xff1f;例如&#xff0c;某些英语单词中有连字符&#xff0c;例如高层。当然&#xff0c;有时是否有连字符都没有关系&#xff0c;并且不影响其含义。但是&#xff0c;有时有必要。例如&#xff0c;单词在行尾的位置是不够的。您…

删库跑路?不可回滚?MySQL创建和管理表,修改清空表,MySQL8新特性DDL原子化,完整详细可收藏

文章目录1、基础知识2、创建和管理数据库3、创建表4、修改表5、重命名表6、 删除表7、清空表8、MySQL8新特性—DDL的原子化1、基础知识 1.1 一条数据存储的过程 存储数据是处理数据的第一步 。只有正确地把数据存储起来&#xff0c;我们才能进行有效的处理和分析。否则&#x…