以下内容是从SpringBoot官网中学到:
https://docs.spring.io/spring-boot/docs/2.0.0.M3/reference/htmlsingle/#boot-features-spring-application

1.系统需求

Spring Boot 2.0.0.M3需要Java8 和 Spring 5.0.0.RC3或者更高版本。指定的支持的编译工具是Maven 3.2+和Gradle 3(3.4 或 更高版本)

2.创建一个新项目

mvn archetype:generate -DgroupId=com.example -DartifactId=myproject -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

最终生成的项目结构如下:

3.编写一个简单的pom文件

<?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.example</groupId><artifactId>myproject</artifactId><version>0.0.1-SNAPSHOT</version><!-- Inherit defaults from Spring Boot --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.M3</version></parent><!-- Add typical dependencies for a web application --><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><!-- Package as an executable jar :为了创建一个可执行的jar,需要添加spring-boot-maven-plugin到我们的pom文件--><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><!-- Add Spring repositories --><!-- (you don't need this if you are using a .RELEASE version) --><repositories><repository><id>spring-snapshots</id><url>http://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled></snapshots></repository><repository><id>spring-milestones</id><url>http://repo.spring.io/milestone</url></repository></repositories><pluginRepositories><pluginRepository><id>spring-snapshots</id><url>http://repo.spring.io/snapshot</url></pluginRepository><pluginRepository><id>spring-milestones</id><url>http://repo.spring.io/milestone</url></pluginRepository></pluginRepositories></project>

将项目导入进Eclipse中,项目结构如下:

4.编写Example代码

package com.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 快速创建一个maven工程的方式:* mvn archetype:generate -DgroupId=com.example -DartifactId=myproject -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false* * * @RestController              :告诉Spring渲染这些结果的字符串给调用者* @EnableAutoConfiguration     :通过这个命令假设你部署一个web应用,并且为你设置了spring的参数配置*/
@RestController
@EnableAutoConfiguration
public class Example {@RequestMapping("/")String home() {return "Hello Word!";}/*** 除了在Eclipse中右键执行run,还可以使用命令:mvn spring-boot:run* * 运行之后在浏览器中输入:http://localhost:8080/。最后发现这两种的结果一样。* * @param args* @throws Exception*/public static void main(String[] args) throws Exception {SpringApplication.run(Example.class,args);}
}

最后在浏览器中看到的内容如下:

5.其它命令行

1、通过  mvn dependency:tree 这个命令可以查看当前spring-boot程序依赖哪些jar包,并打印成树形的列表。
2、将程序打成一个jar包,使用的插件是:
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>接着执行命令:mvn package,查看target目录,可以看到myproject-0.0.1-SNAPSHOT.jar这个jar包。
这个文件大约在10M左右,如果你想瞥一下这个包里面的东西。你可以使用jar tvf命令。
E:\workspace\springboot\springbootdemo>jar tvf target\myproject-0.0.1-SNAPSHOT.jar0 Sat Sep 02 00:42:06 GMT+08:00 2017 META-INF/518 Sat Sep 02 00:42:06 GMT+08:00 2017 META-INF/MANIFEST.MF0 Sat Sep 02 00:42:06 GMT+08:00 2017 BOOT-INF/0 Sat Sep 02 00:42:06 GMT+08:00 2017 BOOT-INF/classes/0 Fri Sep 01 23:56:26 GMT+08:00 2017 BOOT-INF/classes/com/0 Fri Sep 01 23:56:26 GMT+08:00 2017 BOOT-INF/classes/com/example/0 Fri Sep 01 23:56:26 GMT+08:00 2017 META-INF/maven/0 Fri Sep 01 23:56:26 GMT+08:00 2017 META-INF/maven/com.example/0 Fri Sep 01 23:56:26 GMT+08:00 2017 META-INF/maven/com.example/myproject/979 Sat Sep 02 00:27:46 GMT+08:00 2017 BOOT-INF/classes/com/example/Example.class1965 Sat Sep 02 00:38:04 GMT+08:00 2017 META-INF/maven/com.example/myproject/pom.xml你还可以看到一个更小的文件,这个文件是在target目录文件夹下的:myproject-0.0.1-SNAPSHOT.jar.original
这个文件是spring-boot在它之前重新打包后的内容。如果想运行这个应用程序,使用java -jar命令行:java -jar target\myproject-0.0.1-SNAPSHOT.jar
看到的效果如下:
E:\workspace\springboot\springbootdemo>java -jar target\myproject-0.0.1-SNAPSHOT.jar.   ____          _            __ _ _/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/  ___)| |_)| | | | | || (_| |  ) ) ) )'  |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot ::             (v2.0.0.M3)

6 使用@SpringBootApplication注解

 @SpringBootApplication等价:@Configuration @EnableAutoConfiguration @ComponentScan

代码内容如下:

package com.example.myproject;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** 等价 @Configuration @EnableAutoConfiguration @ComponentScan* @author toto**/
@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

上面的代码等价:

package com.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

7、SpringBoot还可以运行带有远程调试支持的打包应用程序

$ java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n -jar target/myproject-0.0.1-SNAPSHOT.jar

8、SpringBoot运行应用

mvn spring-boot:run 这个命令可以直接运行springboot应用

如果想要使用操作系统变量,可以类似下面的方式使用:export MAVEN_OPTS=-Xmx1024m

9、SpringBoot热部署

SpringBoot还要有一个额外的部署工具集,让热部署体验更加舒服,减少调试时间,在这个过程中需要的插件是:

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency>
</dependencies>

如果想让重启功能完全失效(这样在修改完内容之后,不会立即显示出效果),可以在SpringApplication.run(Example.class,args);下配置:

//System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(Example.class,args);

Spring Boot 2.0.0.M3使用案例,案例配置,常用命令,注解介绍,热部署相关推荐

  1. Spring Boot 从入门到精通(一)HelloWorld(构建项目,热部署,测试)

    文章目录 一.使用idea构建项目 二.项目结构 三.编写第一个程序Hello World 四.配置项目的热部署 五.单元测试 一.使用idea构建项目 1.选择 File -> New -&g ...

  2. Spring Boot 2.3.0 发布:支持Java14、打包Docker镜像、优雅关机配置...

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 | 冷冷gg 来源 | https://www.oschin ...

  3. Spring Boot Admin 2.0开箱体验

    2019独角兽企业重金招聘Python工程师标准>>> 概述 在我之前的 <Spring Boot应用监控实战> 一文中,讲述了如何利用 Spring Boot Admi ...

  4. Spring Boot 2.5.0 重新设计的spring.sql.init 配置有啥用?

    点击关注,赶紧上车 前几天Spring Boot 2.5.0发布了,其中提到了关于Datasource初始化机制的调整,有读者私信想了解这方面做了什么调整.那么今天就要详细说说这个重新设计的配置内容, ...

  5. 重磅!Spring Boot 2.5.0火热发布,还学得动吗?

    今年520的事情是真的多,把Spring Boot 2.5.0的版本发布都给忽略了! 今天跟我一起看看Spring Boot 2.5.0又都带来了哪些振奋人心的新特性吧! 主要更新 支持 Java 1 ...

  6. 前瞻:Spring Boot 2.4.0 第二个里程碑版本发布

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://www.oschina.net ...

  7. Spring Boot 2.2.0 正式发布,大幅性能提升 + Java 13 支持

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | DD小分队 来源 | didispace.com/spring-boot-2-2- ...

  8. Spring Boot 2.1.0 已发布,7 个重大更新!

    距离<重磅:Spring Boot 2.0 正式发布!>已经过去大半年了,而 Spring Boot 2.1.0 在 10 月底就发布了,我们来看下 Spring Boot 2.1.0 都 ...

  9. Spring Boot 2.1.0 已发布,7 个重大更新! 1

    距离<重磅:Spring Boot 2.0 正式发布!>已经过去大半年了,而 Spring Boot 2.1.0 在 10 月底就发布了,我们来看下 Spring Boot 2.1.0 都 ...

  10. Spring Boot 2.3.0 发布

    Spring Boot 2.3.0 已经发布,此版本主要更新内容包括: 依赖升级 新版本核心组件依赖升级 Spring Data Neumann Spring HATEOAS 1.1 Spring I ...

最新文章

  1. linux 图形用户界面 x window system 简介
  2. 在WINDOWS2008 Server 中创建NFS服务器,使用LINUX的MOUNT命令去加载网络盘
  3. uva 10047 the monocyle (四维bfs)
  4. SQLAlchemy中filter_by()和filter()的用法不同
  5. 用python将word文档导入数据库_python读取word文档,插入mysql数据库的示例代码
  6. 【C#】隐式类型var
  7. 面试题:淘宝2011.9.21校园招聘会笔试题
  8. python 回溯法 子集树模板 系列 —— 4、数字组合问题
  9. jqueryMobile模块整理—按钮(buttons)
  10. 计算机专业基础 -- C++相关与MFC基础知识
  11. datatable高效写入mysql_如何将DataTable批量写入数据库
  12. c# 中崎_C# 打开钱箱支持北洋、佳博、爱普生
  13. LABVIEW宝典(第2版)简版电子书出炉了,需要赶紧下
  14. 部分免费开放的电子图书馆
  15. 根据图片名批量创建文件夹
  16. 【excel】插入其他文件做工作表
  17. w7系统怎么ping服务器,怎么ping网速,教您ping网络的方法
  18. 新加坡 计算机专业,【新加坡计算机类专业】 - 环外新加坡留学网
  19. 武汉大学计算机转专业2021,通知|关于做好2021年普通本科生转专业工作的通知...
  20. div做表格 html5,div+css制作表格

热门文章

  1. Python学习笔记之类型判断,异常处理,终止程序操作小结
  2. Django框架(23.Django中的模板的标签、变量、过滤器和注释)
  3. 电气论文实现: 考虑储能和可再生能源误差的售电公司购售电策略( 有代码数据)
  4. VTK:科赫雪花用法实战
  5. boost::spirit::karma::real_generator相关的测试程序
  6. BOOST_SCOPE_EXIT宏相关的测试程序
  7. boost::multiprecision模块cpp_bin_float_100相关的测试程序
  8. boost::math模块二项式分布来预测概率 抛硬币时的正面和反面的测试程序
  9. boost::hana::zip_shortest用法的测试程序
  10. boost::make_tuple用法的测试程序