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'
}

