Spring Boot Initilizr - 使用IDE或IDE插件

Spring Boot Initilizr 使用IDE或IDE插件

这是我之前的帖子的延续。在阅读这篇文章之前,请先阅读我在“ Spring Boot Initilizr Web界面 ” 上的帖子。

目录[ 隐藏 ]

简要内容

  • 使用IDE / IDE插件的Spring Boot Initilizr
  • 使用IDE / IDE插件执行Spring Boot应用程序
  • “SpringApplication”类的内部和重要性

Spring Boot Initilizr用于快速启动新的Spring Boot Maven / Gradle项目。它生成初始项目结构并构建脚本以减少开发时间。

正如我在上一篇文章中所讨论的,Spring Boot Initilizr有以下几种形式:

  1. 带Web界面的Spring Boot Initilizr
  2. 使用IDE / IDE插件的Spring Boot Initilizr
  3. 使用Spring Boot CLI的Spring Boot Initilizr
  4. 使用ThirdParty工具的Spring Boot Initilizr

我们在之前的文章中已经讨论过Spring Boot Initilizr With Web Interface。现在我们将讨论“如何将Spring Boot Initilizr与IDE / IDE插件一起使用”。几乎所有Java IDE都提供Spring Boot插件。

我们将使用Spring STS Suite开发所有Spring Boot程序。默认情况下,Spring STS Suite附带Spring Boot Plugins,无需安装/配置它。

使用IDE / IDE插件的Spring Boot Initilizr

请按照以下步骤使用Spring STS Suite创建Spring MVC Maven项目。(与其他IDE几乎相似的步骤。)

如果您不直接在“新建”菜单中选择“Spring Stater Project”选项,则从“文件>>新建>>其他”下的“Spring”类别中选择此选项。

扫描二维码关注公众号,回复: 5583929 查看本文章

弹簧引导initilizer-IDE-例1

弹簧引导initilizer-IDE-例题

弹簧引导initilizer-IDE-示例3

在这里,我们可以选择项目类型:Maven项目或Gradle项目,语言:Java或Groovy,Java版本,包装:Jar或War等。

弹簧引导initilizer-IDE-范例4

在这里,我们可以选择Spring Boot Framework Version:1.2.5以及我们所有需要的Project Stack。

弹簧引导initilizer-IDE-例5

  • 请从“File >> New”菜单中选择“Spring Stater Project”菜单选项,如下所示。
  • 我们将获得以下“New Spring Stater Project”向导,以提供我们的项目相关信息
  • 请提供我们的Spring MVC Maven WebApplication Project详细信息,如下所示,然后单击“下一步”按钮
  • 选择我们的项目相关技术堆栈,如下所示,然后单击“完成”按钮创建我们的新Spring Boot项目
  • 现在,Spring STS Suite创建了一个Maven项目,并将所有必需的Jars下载到我们的Maven Local Repository。
  • 如果我们观察这个项目结构,pom.xml和Java Source文件,它们都类似于我们使用“ Spring Boot Initilizr With Web Interface ” 创建的文件。

注意: -
以同样的方式,我们可以创建JAR,Gradle项目,Spring Web服务,Spring REST API,Spring Cloud等。

执行Spring Boot应用程序

我们使用Spring STS IDE创建了Spring Boot WebApplication。是时候运行这个应用程序并观察结果。

弹簧引导initilizer-IDE-execute1

注意: - 为什么我们需要运行“SpringMvcMavenIdeProjectApplication.java”程序?
因为“SpringMvcMavenIdeProjectApplication.java”程序有Java的main()方法。我们很快就会看到“SpringApplication.run()”方法的重要性。

弹簧引导initilizer-IDE-execute2

这里*表示任何URI或上下文路径

弹簧引导initilizer-IDE-execute3

由于我们没有提供任何映射或查看页面(例如: - JSP),因此我们看到了默认错误页面。

  • 鼠标右键单击“SpringMvcMavenIdeProjectApplication.java”文件并从“运行方式”菜单中选择“Spring Boot App”选项以将此程序作为Spring Boot Application运行,如下所示
  • 当我们执行“SpringMvcMavenIdeProjectApplication.java”程序时,Spring Boot会自动执行以下操作:
    1. 创建一个Spring MVC应用程序
    2. 使用默认端口号启动嵌入式Tomcat服务器:8080
    3. 将我们的Spring MVC应用程序部署到Tomcat Sever中
  • 使用“http:// localhost:8080 / SpringMVCMavenIDEProject”或“http:// localhost:8080 / *”访问我们的Spring MVC应用程序并观察结果

注意:-

  1. 使用此基础Spring Boot WebApplication项目并根据您的项目要求进行增强。
  2. 我们还可以使用Spring STE IDE生成的“SpringMvcMavenIdeProjectApplicationTests.java”类来执行和测试我们的Spring Boot应用程序
  3. 鼠标右键单击“SpringMvcMavenIdeProjectApplicationTests.java”类并选择“Run As >> JUnit Test”选项。

“SpringApplication”类的内部和重要性

现在,我们将讨论什么是SpringApplication?为什么我们需要这个?SpringApplication的重要性?SpringApplication的内部结构?

示例: -
Spring STS IDE生成的类:“SpringMvcMavenIdeProjectApplication”


package com.journaldev.springboot.sample;

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

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

我们从SpringMvcMavenIdeProjectApplication类的main()方法调用SpringApplication.run()。

@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan

@SpringBootApplication执行以下操作:

弹簧引导API1

弹簧引导API3

示例: -
默认情况下,Spring STS IDE将所有必需的Tomcat容器JAR添加到我们新创建的Spring Boot Project Classpath中。这就是“AnnotationConfigEmbeddedWebApplicationContext”实例创建“TomcatEmbeddedServletContainerFactory”类实例的原因。

弹簧引导API2

示例: -
默认情况下,Spring STS IDE创建“TomcatEmbeddedServletContainerFactory”类的实例。该工厂用于创建“TomcatEmbeddedServletContainer”类的实例。

Spring STS IDE中的“SpringApplication.run()”方法

  • “SpringApplication”是Spring Boot API类之一。
  • SpringApplication类用于引导将从“main()”方法启动的Spring应用程序
  • SpringMvcMavenIdeProjectApplication类使用@SpringBootApplication批注进行批注
    1. 由于@Configuration注释,它会扫描@Bean方法来创建bean。
    2. 由于@ComponentScan注释,它执行组件扫描(组件表示使用@ Component,@ Service,@ Repository,@ Controller等注释的Bean)。
    3. 由于@EnableAutoConfiguration注释,它会触发Spring Boot Auto-Configuration。
  • 默认情况下,SpringApplication类创建“AnnotationConfigEmbeddedWebApplicationContext”实例
  • “AnnotationConfigEmbeddedWebApplicationContext”实例在Project Classpath中搜索JAR文件。基于在Classpath中找到的JAR,它创建了一个实现类“EmbeddedServletContainerFactory”接口的实例
  • “EmbeddedServletContainerFactory”(“JettyEmbeddedServletContainerFactory”或“TomcatEmbeddedServletContainerFactory”)用于创建“EmbeddedServletContainer”实现的实例。
  • 当我们运行SpringMvcMavenIdeProjectApplication类的main()方法时,它会调用“SpringApplication.run()”方法。
    1. 此调用用于创建“AnnotationConfigEmbeddedWebApplicationContext”。
    2. 此“AnnotationConfigEmbeddedWebApplicationContext”实例用于创建“TomcatEmbeddedServletContainerFactory”类的实例。
    3. 这个“TomcatEmbeddedServletContainerFactory”用于创建“TomcatEmbeddedServletContainer”类的实例。
    4. “TomcatEmbeddedServletContainer”实例在默认端口号:8080处启动Tomcat容器并部署我们的Spring Boot WebApplication。

这是关于使用IDE / IDE插件的Spring Boot Initilizr以及“SpringApplication”类的重要性。

我将在后面的帖子中讨论“ Spring Boot Initilizr with Spring Boot CLI ”和“ Spring Boot Initilizr With ThirdParty Tools ”。

如果您有任何问题/建议,请给我发表评论。

 

转载来源:https://www.journaldev.com/8596/spring-boot-initilizr-with-ides-or-ide-plugins

猜你喜欢

转载自blog.csdn.net/Aria_Miazzy/article/details/88381748