Spring Boot Initilizr Web界面
在本文中,我们将讨论Spring Boot Initilizr Web Interface及其IDE或者IDE插件。
在阅读文章之前,请仔细阅读我以前的Spring Boot文章。
什么是Spring Boot Initilizr
除了Spring Boot 4组件之外,Spring Boot Framework还具有另一个重要的关键组件:Spring Boot Initilizr。
Spring团队在" https://start.spring.io/"处提供了用于Spring Boot Initilizr的Web界面,可以非常轻松地使用Maven/Gradle构建工具快速启动Spring Boot应用程序的开发。
为什么我们需要Spring Boot Initilizr
Spring Boot Initilizr的主要目的是立即开始新项目的开发。
它提供了所有必需的项目结构和基本的构建脚本文件,以快速启动Spring Boot应用程序而不会浪费时间。
它减少了开发时间。
Spring Boot Initilizr具有以下形式
- 具有Web界面的Spring Boot Initilizr
- 具有IDE/IDE插件的Spring Boot Initilizr
- 使用Spring Boot CLI的Spring Boot Initilizr
- 具有第三方工具的Spring Boot Initilizr
我们现在将通过一些示例研究"带有Web界面的Spring Boot Initilizr",并将在我的后续文章中讨论其余三个选项。
Spring Boot Initilizr Web界面
Spring团队在" https://start.spring.io/"处提供了用于Spring Boot Initilizr的Web界面。
我们可以使用它为Maven/Gradle构建工具创建新项目的基础结构。
它不仅生成Project Base结构,还提供所有必需的Spring Boot Jar文件。
Spring Boot Initilizr Web界面如下所示:
注意:-结合以上两个图像以获得完整的Spring Boot Initilizr Web界面图片。
我无法创建一个图像。
现在,我们将开发两个示例,一个用于Maven,另一个用于Gradle构建工具。
Spring Boot Initilizr Web界面Maven示例
请按照以下步骤为Maven Build工具和Spring STS Suite IDE(或者任何类似Eclipse,IntelliJ IDEA等的IDE)创建新的Spring Boot WebApplication。
请通过" https://start.spring.io/"访问Spring Boot Initilizr。
提供我们的项目所需的详细信息,然后单击"生成项目"按钮
我已经提供了所有Maven项目所需的详细信息,并选择了所需的技术复选框,如图所示。
我选择了H2数据库,然后单击"生成项目"按钮
当我们单击"生成项目"按钮时,它将创建一个Maven项目并将其作为" SpringMVCMavenProject.zip"文件下载到我们的本地文件系统中。
将" SpringMVCMavenProject.zip"复制到我们的Spring STS Suite工作区并解压缩该zip文件
将此" SpringMVCMavenProject" Maven项目导入到Spring STS IDE中
这个" SpringMVCMavenProject" Maven项目结构看起来像
如果观察该项目文件,它将生成pom.xml文件,两个Spring Boot Java文件和一个JUnit Java文件。
" pom.xml"
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.theitroad</groupId> <artifactId>SpringMVCMavenProject</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>SpringMVCMavenProject</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.5.RELEASE</version> <relativePath <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-ws</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </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> </project>
注意:-我们将在我的后续文章中讨论有关此Java源代码和此代码的执行,并讨论" SpringApplication"类。
ServletInitializer.java
package SpringMVCMavenProject; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.context.web.SpringBootServletInitializer; public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(SpringMvcMavenProjectApplication.class); } }
SpringMvcMavenProjectApplication.java
package SpringMVCMavenProject; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringMvcMavenProjectApplication { public static void main(String[] args) { SpringApplication.run(SpringMvcMavenProjectApplication.class, args); } }
SpringMvcMavenProjectApplicationTests.java
package SpringMVCMavenProject; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration (classes=SpringMvcMavenProjectApplication.class) @WebAppConfiguration public class SpringMvcMavenProjectApplicationTests { @Test public void contextLoads() { } }
Spring Boot Initilizr Web界面Gradle示例
与Maven示例类似,请按照以下步骤为Gradle Build工具和Spring STS Suite IDE创建新的Spring Boot WebApplication。
请通过" https://start.spring.io/"访问Spring Boot Initilizr。
提供我们的项目所需的详细信息,然后单击"生成项目"按钮
我已经提供了所有Gradle项目的必需详细信息,并选择了必需的技术复选框,如图所示。
注意:-这里与以前的Maven项目唯一的区别是将"类型"从" Maven项目"更改为" Gradle项目"。
这样,我们可以选择Java版本,语言(Java,Groovy),必需的项目技术等,并非常容易地创建新项目。
我选择了H2数据库,然后单击"生成项目"按钮
当我们单击" Generate Project"按钮时,它将创建Gradle Project并将其作为" SpringMVCGradleProject.zip"文件下载到我们的本地文件系统中。
将" SpringMVCGradleProject.zip"复制到我们的Spring STS Suite工作区并解压缩该zip文件
将此" SpringMVCGradleProject" Gradle项目导入到Spring STS IDE中
除了将pom.xml文件更改为build.gradle外,此" SpringMVCGradleProject" Gradle项目结构类似于所示的Maven项目。
如果您观察到此项目文件,它将生成build.gradle文件,两个Spring Boot Java文件和一个JUnit Java文件(这3个Java文件类似于Maven Project)。
生成" build.gradle"文件内容:
buildscript { ext { springBootVersion = '1.2.5.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") classpath("io.spring.gradle:dependency-management-plugin:0.5.2.RELEASE") } } apply plugin: 'java' apply plugin: 'eclipse-wtp' apply plugin: 'idea' apply plugin: 'spring-boot' apply plugin: 'io.spring.dependency-management' apply plugin: 'war' war { baseName = 'SpringMVCGradleProject' version = '0.0.1-SNAPSHOT' } sourceCompatibility = 1.8 targetCompatibility = 1.8 repositories { mavenCentral() } configurations { providedRuntime } dependencies { compile("org.springframework.boot:spring-boot-starter-data-jpa") compile("org.springframework.boot:spring-boot-starter-web") compile("org.springframework.boot:spring-boot-starter-ws") runtime("com.h2database:h2") providedRuntime("org.springframework.boot:spring-boot-starter-tomcat") testCompile("org.springframework.boot:spring-boot-starter-test") } eclipse { classpath { containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER') containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8' } } task wrapper(type: Wrapper) { gradleVersion = '2.3' }