一、Spring Boot简介(一至三转:https://www.cnblogs.com/zmfx/p/8903688.html)
开发团队:Pivotal团队
主要目的:简化新Spring应用的初始搭建以及开发过程。
秉持理念:约定优于配置。(该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置)
二、Spring Boot的特点
1、快速创建独立的Spring应用程序。
Spring Boot 并不是对 Spring 功能上的增强,而是提供了一种快速使用 Spring 的方式
2、嵌入的Tomcat,不需要部署war文件
3、简化了Maven的配置
4、自动装配Spring
5、开箱即用,没有代码生成、也不需要XML的配置
6、是微服务的入门级框架,SpringBoot是SpringCloud的基础
7、提供生产就绪功能:如指标、健康检查、外部配置等
三、有关Maven的配置以及IDEA中配置Maven可以参考博客:http://www.cnblogs.com/zmfx/p/8903871.html
(以下原创)
四、插件安装:
社区版,如我的(菜单栏Help—About):
IntelliJ IDEA 2018.2 (Community Edition)
Build #IC-182.3684.101, built on July 24, 2018
JRE: 1.8.0_152-release-1248-b8 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
没有spring Initializr,则安装spring Assistant。
五、工程建立:
六、关键代码(controller的两种方式):
项目下载:https://download.csdn.net/download/haoranhaoshi/10952919
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
// @RestController不能加给方法,@RequestMapping加给方法。如果类中有@RequestMapping,需加入@RestController,此时类没有@RestController,会报com.intellij.openapi.project.IndexNotReadyException: Please change caller according to com.intellij.openapi.project.IndexNotReadyException documentation
// @SpringBootApplication默认会扫描本包及子包的@RestController。@SpringBootApplication(scanBasePackages = {完整包路径字符串})会定向识别完整包路径下的包及子包中的@RestController,scanBasePackages是一个数组类型,可以写多个。
@RestController
@SpringBootApplication
public class DemoApplication {
// 访问http://localhost:8080/helloSpringBoot可查看返回结果
@RequestMapping("/helloSpringBoot")
String helloSpringBoot() {
return "Hello Spring Boot!";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
package com.example.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloWorldController {
// 访问http://localhost:8080/helloWorld可查看返回结果
// 相当于@RequestMapping("/helloWorld")
@RequestMapping(value = "/helloWorld",method = RequestMethod.GET)
public String helloWorld(){
return "Hello World!";
}
}
七、访问(嵌入的Tomcat,不需要部署war文件):
运行DemoApplication.java后访问http://localhost:8080/helloWorld、http://localhost:8080/helloSpringBoot可查看返回结果
八、打包
<build>
<finalName>SpringBootDemo</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.2.RELEASE</version>
<configuration>
<mainClass>com.example.demo.DemoApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Maven中点击clean(点击clean报错,建议重启系统,有干扰进程存在),再点击package,在工程target下会生成SpringBootDemo.jar。cmd中cd到SpringBootDemo.jar的目录位置,命令java -jar SpringBootDemo.jar运行打的包。