Spring Boot Initilizr 使用IDE或IDE插件
这是我之前的帖子的延续。在阅读这篇文章之前,请先阅读我在“ Spring Boot Initilizr Web界面 ” 上的帖子。
目录[ 隐藏 ]
- 1简要发布内容
- 2带有IDE / IDE插件的Spring Boot Initilizr
- 3执行Spring Boot应用程序
- 4 “SpringApplication”类的内部和重要性
简要内容
- 使用IDE / IDE插件的Spring Boot Initilizr
- 使用IDE / IDE插件执行Spring Boot应用程序
- “SpringApplication”类的内部和重要性
Spring Boot Initilizr用于快速启动新的Spring Boot Maven / Gradle项目。它生成初始项目结构并构建脚本以减少开发时间。
正如我在上一篇文章中所讨论的,Spring Boot Initilizr有以下几种形式:
- 带Web界面的Spring Boot Initilizr
- 使用IDE / IDE插件的Spring Boot Initilizr
- 使用Spring Boot CLI的Spring Boot Initilizr
- 使用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”类别中选择此选项。
在这里,我们可以选择项目类型:Maven项目或Gradle项目,语言:Java或Groovy,Java版本,包装:Jar或War等。
在这里,我们可以选择Spring Boot Framework Version:1.2.5以及我们所有需要的Project Stack。
- 请从“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。是时候运行这个应用程序并观察结果。
注意: - 为什么我们需要运行“SpringMvcMavenIdeProjectApplication.java”程序?
因为“SpringMvcMavenIdeProjectApplication.java”程序有Java的main()方法。我们很快就会看到“SpringApplication.run()”方法的重要性。
这里*表示任何URI或上下文路径
由于我们没有提供任何映射或查看页面(例如: - JSP),因此我们看到了默认错误页面。
- 鼠标右键单击“SpringMvcMavenIdeProjectApplication.java”文件并从“运行方式”菜单中选择“Spring Boot App”选项以将此程序作为Spring Boot Application运行,如下所示
- 当我们执行“SpringMvcMavenIdeProjectApplication.java”程序时,Spring Boot会自动执行以下操作:
- 创建一个Spring MVC应用程序
- 使用默认端口号启动嵌入式Tomcat服务器:8080
- 将我们的Spring MVC应用程序部署到Tomcat Sever中
- 使用“http:// localhost:8080 / SpringMVCMavenIDEProject”或“http:// localhost:8080 / *”访问我们的Spring MVC应用程序并观察结果
注意:-
- 使用此基础Spring Boot WebApplication项目并根据您的项目要求进行增强。
- 我们还可以使用Spring STE IDE生成的“SpringMvcMavenIdeProjectApplicationTests.java”类来执行和测试我们的Spring Boot应用程序
- 鼠标右键单击“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执行以下操作:
示例: -
默认情况下,Spring STS IDE将所有必需的Tomcat容器JAR添加到我们新创建的Spring Boot Project Classpath中。这就是“AnnotationConfigEmbeddedWebApplicationContext”实例创建“TomcatEmbeddedServletContainerFactory”类实例的原因。
示例: -
默认情况下,Spring STS IDE创建“TomcatEmbeddedServletContainerFactory”类的实例。该工厂用于创建“TomcatEmbeddedServletContainer”类的实例。
Spring STS IDE中的“SpringApplication.run()”方法
- “SpringApplication”是Spring Boot API类之一。
- SpringApplication类用于引导将从“main()”方法启动的Spring应用程序
- SpringMvcMavenIdeProjectApplication类使用@SpringBootApplication批注进行批注
- 由于@Configuration注释,它会扫描@Bean方法来创建bean。
- 由于@ComponentScan注释,它执行组件扫描(组件表示使用@ Component,@ Service,@ Repository,@ Controller等注释的Bean)。
- 由于@EnableAutoConfiguration注释,它会触发Spring Boot Auto-Configuration。
- 默认情况下,SpringApplication类创建“AnnotationConfigEmbeddedWebApplicationContext”实例
- “AnnotationConfigEmbeddedWebApplicationContext”实例在Project Classpath中搜索JAR文件。基于在Classpath中找到的JAR,它创建了一个实现类“EmbeddedServletContainerFactory”接口的实例
- “EmbeddedServletContainerFactory”(“JettyEmbeddedServletContainerFactory”或“TomcatEmbeddedServletContainerFactory”)用于创建“EmbeddedServletContainer”实现的实例。
- 当我们运行SpringMvcMavenIdeProjectApplication类的main()方法时,它会调用“SpringApplication.run()”方法。
- 此调用用于创建“AnnotationConfigEmbeddedWebApplicationContext”。
- 此“AnnotationConfigEmbeddedWebApplicationContext”实例用于创建“TomcatEmbeddedServletContainerFactory”类的实例。
- 这个“TomcatEmbeddedServletContainerFactory”用于创建“TomcatEmbeddedServletContainer”类的实例。
- “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