如何使用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; 三、总线结构计算机举例…

虚拟机使用计算机网络,虚拟机技术在计算机网络专业课程教学中的应用

环境&#xff0c;做一些服务器配置&#xff0c;这就需要机房安装多种操作系统与多种软件&#xff0c;还需要允许学生随意的对操作环境进行配置。计算机机房的建设越来越完善&#xff0c;但需要承担的多门课程的学习和实验&#xff0c;使用率高。如若进行与操作系统配置实验&…

传感与检测技术,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 …

html 高度不够,HTML/CSS:Div未扩展到内容高度

我有几个未扩展的div元素以匹配其内容的高度。我已经读过&#xff0c;这可能是由浮动内容引起的;这个内容不是浮动的 - 虽然我开始觉得我应该把我的电脑扔在河里。这算不算&#xff1f;HTML/CSS&#xff1a;Div未扩展到内容高度代码&#xff1a;#interaction-options-container…

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

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

sql 动态写入数据库字段_批处理写入,动态SQL和参数化SQL,数据库的性能如何?...

sql 动态写入数据库字段最有效的数据库优化之一是批处理写入。 批处理写入受大多数现代数据库和JDBC标准的一部分支持&#xff0c;并且受大多数JPA提供程序支持。 普通数据库访问包括在单独的数据库/网络访问中将每个DML&#xff08;插入&#xff0c;更新&#xff0c;删除&…

将HTML转换为Apache POI的RichTextString

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

计算机基础知识第3版答案,计算机基础知识试题库及答案(3)

65、计算机的CPU每执行一个__B___&#xff0c;就完成一步基本运算或判断。A、语句B、指令C、程序D、软件66、计算机能按照人们的意图自动、高速地进行操作&#xff0c;是因为采用了__A__。A、程序存储在内存B、高性能的CPUC、高级语言D、机器语言67、语言处理程序的发展经历了_…

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

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

html首页我的待办,JavaScript / HTML中的待办事项列表

我已经设置了这个待办事项列表,几乎所有东西都完美无缺.但是,如果我删除列表中的所有内容.它不会让我添加一个新的条目,我似乎无法弄明白为什么.只要我在列表中至少有一个条目,它就可以正常工作.非常感谢任何帮助,谢谢.< head >< script type "text/javascript&…

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;这意味着可以将其作为接受某些参数的可…

教师计算机提升学到的知识,计算机教学质量提升措施浅谈.doc

计算机教学质量提升措施浅谈计算机教学质量提升措施浅谈一、热情投入&#xff0c;创设宽松和谐的课堂学习氛围在课堂教学中&#xff0c;教师要尊重每一个学生的权利&#xff0c;一视同仁&#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;这些语句定义…

广告学和计算机共通,本科生广告学专业个人职业规划书范文

广告经营管理、广告策划创意和设计制作、市场营销策划及市场调查分析工作的广告学高级专门人才。一般来说&#xff0c;广告业的发展多数集中在大中城市和经济发达的地区。这些地区人口密集、竞争激烈&#xff0c;但薪水相对较高。三、职业选择分析1、个人职业选择目前最大的困惑…

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;只能…

MySQL排序ORDER BY与分页LIMIT,SQL,减少数据表的网络传输量,完整详细可收藏

文章目录1、ORDER BY排序2、LIMIT分页1、ORDER BY排序 1.1 排序规则 使用 ORDER BY 子句排序 ASC&#xff08;ascend&#xff09;: 升序 DESC&#xff08;descend&#xff09;:降序 ORDER BY 子句在SELECT语句的结尾。 1.2 单列排序 SELECT last_name, job_id, department_i…

java 反射api_Java的反射API

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

计算机论文日志30页,毕业论文计算机应用基础(30页)-原创力文档

简单几何图形的识别和编辑摘要本论文主要讲述了图像文件(bmp )文件格式下中简单图形的识别&#xff0c;主要是直线和圆的识别&#xff0c;这在工程图的识别和其他领域中都有很多的应用。【关键词】&#xff1a;图形识别、图像处理、霍夫变换、单义域、多义域、delphi- 1 -简单几…