Spring Boot 入门
2017-03-01 本文已影响480人
3517902f1986
本文将简介Spring Boot并使用Spring Boot搭建一个web项目
Spring Boot 简介
Spring Boot是Spring社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基于Spring的应用程序和服务,让更多人的人更快的对Spring进行入门体验,让Java开发也能够实现Ruby on Rails那样的生产效率。为Spring生态系统提供了一种固定的、约定优于配置风格的框架。
<big>Spring boot具有如下特性:</big>
- 为基于Spring的开发提供更快的入门体验
- 开箱即用,没有代码生成,也无需XML配置。同时也可以修改默认值来满足特定的需求。
- 提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。
- Spring Boot并不是不对Spring功能上的增强,而是提供了一种快速使用Spring的方式。
使用Spring Boot搭建一个web项目
首先生成一个Maven项目:
创建工程.png配置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.justinware</groupId>
<artifactId>spring-boot-web-starter-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<!--增加父pom,spring-boot-starter-parent包含了大量配置好的依赖管理,在自己项目添加这些依赖的时候不需要写<version>版本号。-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
</parent>
<dependencies>
<!--Spring通过添加spring-boot-starter-*这样的依赖就能支持具体的某个功能。我们这个示例最终是要实现web功能,所以添加的是这个依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!--Spring默认使用jdk1.6,如果你想使用jdk1.8,你需要在pom.xml的属性里面添加java.version-->
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<!--插件可打包项目为可执行的Jar包,也可以使用mvn spring-boot:run 启动(默认tomcat)项目-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<dependencies>
<!--项目提供了强大的热部署功能,添加/删除/修改 方法/字段/接口/枚举 等代码的时候都可以热部署,速度很快,很方便。-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.6.RELEASE</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
创建一个Application类
@RestController
@EnableAutoConfiguration
public class Application {
@RequestMapping("/")
String index(){
return "Hello,This is SpringBoot";
}
@RequestMapping("/now")
String now(){
return "现在时间是:"+LocalDateTime.now().toString();
}
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
@RestController
相当于同时添加@Controller和@ResponseBody两个注解
@EnableAutoConfiguration
Spring Boot会自动根据你jar包的依赖来自动配置项目。例如当你项目下面有HSQLDB
的依赖时,Spring Boot会创建默认的内存数据库的数据源DataSource,如果你自己创建了DataSource,Spring Boot就不会创建默认的DataSource
如果你不想让Spring Boot自动创建,你可以配置注解的exclude属性,例如:
@Configuration
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class Application{
}
@SpringBootApplication
相当于添加@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解
启动项目
- 直接启动
SpringApplication.run(Application.class,args);
- 如果需要添加一些配置,可以使用
new SpringApplicationBuilder()
.showBanner(false)
.sources(Application.class)
.run(args);
运行
- 可以使用mvn package打包后,执行 java -jar xxx.jar
- 直接执行 mvn spring-boot:run
执行后可在浏览器窗口访问http://localhost:8080
Spring Boot 官方文档
本文参考以下文章,并摘用部分内容(感谢各位作者):
isea533 的 Spring Boot 入门