`
rensanning
  • 浏览: 3552529 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38217
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607585
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682772
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89526
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:402118
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69759
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91834
社区版块
存档分类
最新评论

Spring Boot 入门 - 基础篇(1)- 创建工程

 
阅读更多
创建方法
可以通过以下三种方式来创建Spring Boot工程
  • Spring Initializr(Web界面)
  • Spring Boot CLI(命令行工具)
  • Spring Boot IDE(Eclipse、IntelliJ IDEA、Spring STS等)
创建的Spring Boot工程,开发语言可以是Java或Groovy,构建类型可以是Maven或Gradle。结合自己熟悉的选择,一般以Java的Maven工程居多。

SpringBoot工程从创建到执行大体如下:


(1)Spring Initializr
访问 https://start.spring.io/ 点击Switch to the full Version 可以切换到更详细的设置页面。


可以看到最终下载ZIP文件的URL如下:
引用
https://start.spring.io/starter.zip?type=maven-project&bootVersion=1.5.1.RELEASE&baseDir=spring-boot-demo1&groupId=com.rensanning.springboot&artifactId=spring-boot-demo1&name=spring-boot-demo1&description=Demo+project+for+Spring+Boot&packageName=com.rensanning.springboot&packaging=jar&javaVersion=1.8&language=java&autocomplete=&generate-project=&style=web


解压到 D:\springbootsample\spring-boot-demo1 后通过“mvn spring-boot:run”启动即可。
引用
D:\>cd D:\springbootsample\spring-boot-demo1
D:\springbootsample\spring-boot-demo1>mvn spring-boot:run



启动完成后可以看到以下日志
引用
2017-02-07 15:02:57.115  INFO 3980 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2017-02-07 15:02:57.119  INFO 3980 --- [           main] c.r.s.SpringBootDemo1Application         : Started SpringBootDemo1Application in 2.226 seconds (JVM running for 4.758)


(2)Spring Boot CLI

下载安装Spring Boot CLI
引用
1) 从官网下载spring-boot-cli-1.5.1.RELEASE-bin.zip
http://repo.spring.io/release/org/springframework/boot/spring-boot-cli/
2) 解压到 D:\spring-1.5.1.RELEASE\
3) 将 D:\spring-1.5.1.RELEASE\bin 添加到环境变量PATH里。
4) 确认 D:\springbootsample>spring --version
Spring CLI v1.5.1.RELEASE


创建Spring Boot项目
D:\springbootsample>mkdir spring-boot-demo2
D:\springbootsample>cd spring-boot-demo2
D:\springbootsample\spring-boot-demo2>spring init -d=web -g=com.rensanning.springboot -a=spring-boot-demo2 --package-name=com.rensanning.springboot --name=spring-boot-demo2 -x
Using service at https://start.spring.io
Project extracted to 'D:\springbootsample\spring-boot-demo2'
D:\springbootsample\spring-boot-demo2>mvn spring-boot:run


启动完成后可以看到以下日志
引用
2017-02-07 15:07:08.778  INFO 7624 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2017-02-07 15:07:08.785  INFO 7624 --- [           main] c.r.s.SpringBootDemo2Application         : Started SpringBootDemo2Application in 2.35 seconds (JVM running for 5.529)


spring init 命令参数说明:
引用
-d(dependencies 依赖包)
-g(Group Id)
-a(Artifact Id)
--package-name(Package name)
--name(Project name)
-x(Extract compatible archives)

详细内容查看:
引用
$ spring help init


无论哪种创建方式都是要访问https://start.spring.io来获取模板工程代码,
所以甚至可以使用CURL或HTTPie这些第三方工具来创建,比如:
引用
curl https://start.spring.io/starter.zip
     -d dependencies=web,data-jpa,jms,ws
     -d packaging=war
     -d type=gradle-project
     -o SpringBootCurlWebProject.zip

引用
http -v start.spring.io/starter.zip dependencies=web baseDir=demo -d


导入工程
引用
$ mvn eclipse:eclipse
[INFO] Wrote Eclipse project for "demo" to D:\springbootsample\spring-boot-demo2.

或者直接使用Eclipse导入工程,Menu - File - Import - Maven - Existing Maven Projects

创建gradle工程
D:\springbootsample>mkdir spring-boot-demo3
D:\springbootsample>cd spring-boot-demo3
D:\springbootsample\spring-boot-demo3>spring init -d=web -g=com.rensanning.springboot -a=spring-boot-demo3 --package-name=com.rensanning.springboot --name=spring-boot-demo3 -x --build=gradle
D:\springbootsample\spring-boot-demo3>gradle bootRun


引用
2017-02-07 15:15:14.081  INFO 8128 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2017-02-07 15:15:14.086  INFO 8128 --- [           main] c.r.s.SpringBootDemo3Application         : Started SpringBootDemo3Application in 2.171 seconds (JVM running for 2.474)


也可以打包成jar后执行
引用
D:\springbootsample\spring-boot-demo1>mvn clean package
D:\springbootsample\spring-boot-demo1>java -jar target/spring-boot-demo1-0.0.1-SNAPSHOT.jar



引用
D:\springbootsample\spring-boot-demo3>gradle build
D:\springbootsample\spring-boot-demo3>java -jar build/libs/spring-boot-demo3-0.0.1-SNAPSHOT.jar



(3)IDE
STS:Spring Tool Suite https://spring.io/tools/sts/all

创建工程
Menu - File - New - Spring Starter Project








运行工程
Menu - Run - Run As - Spring Boot App




访问 http://localhost:8080/

***因为没有任何controller,所以看到的是404页面。


(4)文件夹构成
引用
│  .gitignore
│  mvnw
│  mvnw.cmd
│  pom.xml
└─src
    ├─main
    │  ├─java
    │  │  └─com
    │  │      └─example
    │  │              SpringBootDemo3Application.java
    │  └─resources
    │      │  application.properties
    │      ├─static
    │      └─templates
    └─test
        └─java
            └─com
                └─example
                        SpringBootDemo3ApplicationTests.java




@SpringBootApplication
public class SpringBootDemo4Application {

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

@SpringBootApplication = @Configuration + @ComponentScan + @EnableAutoConfiration

默认扫描的package是启动Application类所在的package。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.rensanning.springboot</groupId>
	<artifactId>spring-boot-demo4</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>spring-boot-demo4</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.1.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

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

</project>


(5)输出“Hello World”

新建一个HelloController类。
@RestController
public class HelloController {
	
    @RequestMapping("/")
    public String index() {
        return "Hello world from Spring Boot!";
    }
    
}



再次访问 http://localhost:8080/


(6)Spring Boot工程中如果有多个main()函数,需要指定启动类

<properties>
    <!-- The main class to start by executing java -jar -->
    <start-class>com.rensanning.springboot.SpringBootDemoApplication</start-class>
</properties>


或者

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <mainClass>com.rensanning.springboot.SpringBootDemoApplication</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>
  • 大小: 39.8 KB
  • 大小: 131.4 KB
  • 大小: 588.9 KB
  • 大小: 502.9 KB
  • 大小: 477.6 KB
  • 大小: 543.3 KB
  • 大小: 51.9 KB
  • 大小: 117.9 KB
  • 大小: 101.9 KB
  • 大小: 109.8 KB
  • 大小: 137.7 KB
  • 大小: 55 KB
  • 大小: 16.7 KB
  • 大小: 619.2 KB
  • 大小: 40.2 KB
  • 大小: 713.8 KB
分享到:
评论
1 楼 ylhx666 2017-03-24  

相关推荐

    spring-boot-starter-parent-1.5.13.RELEASE.zip

    标签 "spring-boot starter-parent-1" 指出了这是关于Spring Boot的starter parent,可能是指一系列版本中的第一个。 在压缩包的文件名称列表中,有两个文件: 1. `spring-boot-starter-parent-1.5.13.RELEASE.pom....

    Spring Boot 入门 - 基础篇(11)- 数据源配置

    在本篇“Spring Boot入门 - 基础篇(11)- 数据源配置”中,我们将探讨如何在Spring Boot项目中配置数据源,以便连接到数据库并执行相关的CRUD操作。Spring Boot以其自动化配置和简化开发流程而受到广泛欢迎,它使得...

    spring-boot-starter-test-2.2.13.RELEASE.jar

    spring-boot-starter-test-1.0.2.RELEASE.jar 各个版本,免费下载 spring-boot-starter-test-RELEASE.jar 各个版本,免费下载 spring-boot-starter-test.jar 各个版本,免费下载 如果不能免费下载,关注我,评论区...

    jasypt-spring-boot-starter 3.0.5依赖的pom及jar

    1. **自动配置**:基于Spring Boot的自动配置特性,jasypt-spring-boot-starter可以自动检测并配置加密环境,无需额外的代码设置。 2. **环境变量加密**:允许开发者使用环境变量存储加密的配置属性,提高了安全性...

    dynamic-datasource-spring-boot-starter-3.4.1-API文档-中文版.zip

    赠送jar包:dynamic-datasource-spring-boot-starter-3.4.1.jar; 赠送原API文档:dynamic-datasource-spring-boot-starter-3.4.1-javadoc.jar; 赠送源代码:dynamic-datasource-spring-boot-starter-3.4.1-sources...

    spring-boot-starter-web-2.7.13.jar

    spring-boot-starter-web-1.0.0.RELEASE.jar 各个版本,免费下载 spring-boot-starter-web.RELEASE.jar 各个版本,免费下载 spring-boot-starter-web.jar 各个版本,免费下载 如果不能免费下载,关注我,评论区联系...

    解析spring-boot-starter-parent简介

    spring-boot-starter-parent是Spring Boot框架中的一个基础依赖项管理工具,主要用于管理项目中的依赖项版本。通过继承spring-boot-dependencies,spring-boot-starter-parent可以提供一系列的依赖项管理功能,包括...

    spring-boot-configuration-processor-2.0.4.RELEASE-API文档-中文版.zip

    赠送jar包:spring-boot-configuration-processor-2.0.4.RELEASE.jar; 赠送原API文档:spring-boot-configuration-processor-2.0.4.RELEASE-javadoc.jar; 赠送源代码:spring-boot-configuration-processor-2.0.4....

    spring-boot-starter-web.jar

    Spring Boot 是在 Spring 的基础上创建一款开源框架,它提供了 spring-boot-starter-web(Web 场景启动器) 来为 Web 开发予以支持。spring-boot-starter-web 为我们提供了嵌入的 Servlet 容器以及 SpringMVC 的依赖...

    spring-boot-starter-web-2.0.7.0.jar

    spring-boot-starter-web-2.0.7.0.jar

    mybatis-spring-boot-starter-2.1.3.jar

    mybatis-spring-boot-starter-2.1.3.jarmybatis-spring-boot-starter-2.1.3.jarmybatis-spring-boot-starter-2.1.3.jar

    activiti-spring-boot-starter-basic-6.0.0适配springboot2.1.2

    activiti-spring-boot-starter-basic-6.0.0适配springboot2.1.2

    mybatis-spring-boot-starter-2.1.4.jar

    mybatis-spring-boot-starter-2.1.4.jarmybatis-spring-boot-starter-2.1.4.jar

    druid-spring-boot-starter-1.2.8.jar

    druid-spring-boot-starter-1.2.8.jar

    spring-boot-cli-2.2.6.RELEASE-bin.zip

    1. `bin/`:这是存放可执行文件的目录,包括`spring-boot-cli-2.2.6.RELEASE-bin-windows-x86_64.exe`(适用于64位系统)和`spring-boot-cli-2.2.6.RELEASE-bin-windows-i386.exe`(适用于32位系统)。这些可执行...

    spring-boot-cli下载

    1. 下载:可以从Spring官网或通过GitHub releases页面获取`spring-boot-cli-2.0.0.M1-bin.zip`压缩包。 2. 解压:将下载的压缩包解压到你选择的目录。 3. 添加到系统路径:为了方便使用,需要将解压后的`bin`目录...

    spring-boot-starter-websocket.zip

    对于“spring-boot-starter-websocket.zip”这个压缩包,我们可以推断它包含了Spring Boot项目中用于WebSocket通信的相关起步依赖。WebSocket是一种在客户端和服务器之间建立长连接的协议,使得实时双向通信成为可能...

    spring-boot-samples-master

    1. **基础设置**:包括最基本的Spring Boot应用启动,如"spring-boot-sample-basic",它展示了如何创建一个简单的"Hello, World!"应用程序,解释了Spring Boot的启动类和自动配置机制。 2. **Web应用**:"spring-...

    spring-boot spring-security-oauth2 完整demo

    本篇文章将围绕“spring-boot spring-security-oauth2 完整demo”这一主题,详细阐述这三个框架如何协同工作,以及如何通过类似微信的方式获取token并访问资源。 首先,Spring Boot是基于Spring框架的快速开发工具...

    easypoi-spring-boot-starter-4.0.0.jar

    easypoi-spring-boot-starter-4.0.0.jar 包

Global site tag (gtag.js) - Google Analytics