初识Spring Boot
概述
简单的介绍了Spring Boot的特性以及如何搭建一个Spring Boot项目。
什么是Spring Boot
随着动态语言的流行,Java的开发显得格外的笨重:繁多的配置、地下的开发效率、复杂的部署流程以及第三方技术继承难度大。
在上面的环境下,Spring Boot应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用护着只需要很少的Spring配置。
Spring Boot核心功能
1:独立运行的Spring项目
Spring Boot可以以jar包的形式独立运行,运行一个Spring Boot项目只需通过java -jar xx.jar来运行。
2:内嵌Servlet容器
Spring Boot可选择内嵌Tomcat、Jetty或者Undertow,这样我们无须以war包形式部署项目。
3:提供starter简化Maven配置
Spring提供了一系列的starter pom来简化Maven的以来加载。
4:自动配置Spring
Spring Boot会根据在类路径中的jar包、类,为jar包里的类自动配置Bean,这样会极大的减少我们要使用的配置。
5:准生产的应用监控
Spring Boot提供基于http、ssh、telnet对运行时的项目进行监控。
6:无代码生成和xml配置
Spring Boot不是借助于代码生成来实现的,而实通过条件注解来实现的,这是Spring4.x提供的新特性。
Spring4.x提倡使用Java配置和注解配置组合,而Spring Boot不需要任何xml配置即可实现Spring的所有配置。
Spring Boot的优点
1:快速构建项目。
2:对主流开发框架的无配置集成。
3:项目可独立运行,无须外部依赖Servlet容器。
4:提供运行时的应用监控。
5:极大的提高了开发、部署效率。
6:与云计算的天然集成。
使用IDEA创建一个Spring Boot项目
1:新建Spring Initializr项目
2:填写项目信息和选择技术
创建完成
Spring Boot CLI
Spring Boot CLI时Spring Boot提供的控制台命令工具。
下载地址:http://repo.spring.io/release/org/springframework/boot/spring-boot-cli/(可下载不同版本)。
下载完成后解压并配置环境变量。配置过程和配置jdk差不多,此处不再赘述。
创建项目:
在控制台输入命令:spring init --build=maven --java-version=1.8 --dependencies=web --packaging=jar --boot-version=1.3.0.M1 --groupId=con.gaof --artifactId=demo
然后会生成一个压缩包,就是一个Spring Boot项目。压缩包放置路径时控制台的当前路径。
手工创建Spring Boot项目
其实上面的两种方式包括其他创建Spring Boot项目的方式都仅仅是创建了一个Maven项目,只不过添加了Spring Boot的依赖而已。
我们可以用任意开发工具创建空的Maven项目,添加Spring Boot依赖使之成为一个Spring Boot项目。
通过查看C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-dependencies\1.3.0.M1下的spring-boot-dependencies-1.3.0.M1.pom文件,可以看到Spring Boot提供了那些jar包的依赖。
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 6 <groupId>com.example</groupId> 7 <artifactId>demo</artifactId> 8 <version>0.0.1-SNAPSHOT</version> 9 <packaging>jar</packaging> 10 11 <name>demo</name> 12 <description>Demo project for Spring Boot</description> 13 14 <parent> 15 <groupId>org.springframework.boot</groupId> 16 <artifactId>spring-boot-starter-parent</artifactId> 17 <version>2.0.1.RELEASE</version> 18 <relativePath/> <!-- lookup parent from repository --> 19 </parent> 20 21 <properties> 22 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 23 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 24 <java.version>1.8</java.version> 25 </properties> 26 27 <dependencies> 28 <dependency> 29 <groupId>org.springframework.boot</groupId> 30 <artifactId>spring-boot-starter-web</artifactId> 31 </dependency> 32 33 <dependency> 34 <groupId>org.springframework.boot</groupId> 35 <artifactId>spring-boot-starter-test</artifactId> 36 <scope>test</scope> 37 </dependency> 38 </dependencies> 39 40 <build> 41 <plugins> 42 <plugin> 43 <groupId>org.springframework.boot</groupId> 44 <artifactId>spring-boot-maven-plugin</artifactId> 45 </plugin> 46 </plugins> 47 </build> 48 49 50 </project>
一个简单的小例子
知道如何创建Spring Boot项目后,不妨现在就创建一个,看看效果。
创建完成后,在入口类中添加index方法,然后运行访问一下。
1 package com.example.demo; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 import org.springframework.web.bind.annotation.RequestMapping; 6 import org.springframework.web.bind.annotation.RestController; 7 8 /** 9 * @RestController: 10 * 使此类成为控制器,可以被路径访问到。 11 * @SpringBootApplication: 12 * Spring Boot项目的核心注解,主要目的是开启自动配置。 13 */ 14 @RestController 15 @SpringBootApplication 16 public class DemoApplication { 17 /** 18 * 主要作用是作为项目启动的入口 19 * @param args 20 */ 21 public static void main(String[] args) { 22 SpringApplication.run(DemoApplication.class, args); 23 } 24 25 @RequestMapping("/") 26 String index() { 27 return "Hello Spring Boot"; 28 } 29 }