一、Spring Boot四个核心
a、自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置
b、起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。
c、命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建。
d、Actuator:让你能够深入运行中的Spring Boot应用程序,一套究竟。
二、传统的Spring MVC开发一个简单的Hello World Web应用程序,你应该做什么
a、一个项目结构,其中有一个包含必要依赖的Maven或者Gradle构建文件,最起码要有Spring MVC和Servlet API这些依赖。
b、一个web.xml文件(或者一个WebApplicationInitializer实现),其中声明了Spring的DispatcherServlet。
c、一个启动了Spring MVC的Spring配置
d、一控制器类,以“hello World”相应HTTP请求。
e、一个用于部署应用程序的Web应用服务器,比如Tomcat。
三、初始化Spring Boot项目
在File菜单里面选择 New > Project,然后选择Spring Initializr,接着如下图一步步操作即可。
四、目录结构
根据上面的操作已经初始化了一个Spring Boot的框架了,项目结构如下:
如你所见,项目里面基本没有代码,除了几个空目录外,还包含如下几样东西。
a、pom.xml:Maven构建说明文件。
b、Chapter1Application.java:一个带有main()方法的类,用于启动应用程序(关键)。
c、Chapter1ApplicationTests.java:一个空的Junit测试类,它加载了一个使用Spring Boot字典配置功能的Spring应用程序上下文。
d、application.properties:一个空的properties文件,你可以根据需要添加配置属性。
五、看下pom.xml文件
<?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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>chapter1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>chapter1</name>
<description>Demo project for Spring Boot</description>
<properties>
<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>
六、应用入口:
Chapter1Application是一个很关键的启动类,程序的入口就是这里,为了演示简单,我们不再新建控制类,而是直接在这个入口类中编写,添加@RestController以及index方法,如下:
package com.example.chapter1;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@RestController
@SpringBootApplication
public class Chapter1Application {
public static void main(String[] args) {
SpringApplication.run(Chapter1Application.class, args);
}
@RequestMapping("/")
public String index(){
return "Hello Spring Boot";
}
}
-
@SpringBootApplication是Sprnig Boot项目的核心注解,主要目的是开启自动配置。后续讲解原理的时候再深入介绍。
-
main方法这是一个标准的Java应用的main的方法,主要作用是作为项目启动的入口。
-
@RestController注解等价于@Controller+@ResponseBody的结合,使用这个注解的类里面的方法都以json格式输出。
最后,启动项目有三种方式:
-
Chapter1Application的main方法
使用命令 mvn spring-boot:run”在命令行启动该应用,IDEA中该命令在如下位置:
运行“mvn package”进行打包时,会打包成一个可以直接运行的 JAR 文件,使用“java -jar”命令就可以直接运行。
打开浏览器访问http://localhost:8080, 你就能看到页面显示Hello Spring Boot效果了,一个简单的Web的项目就是如此简单。
关注公众号获取更多技术干货: