什么是Spring Boot?
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
Spring Boot 并不是对 Spring 功能上的增强,也不是新框架,而是提供了一种快速使用 Spring 的方式。
使用spring boot究竟有什么好处?
以 hello world 为例,传统 spring web 项目需要做如下事儿:
- 导入一堆 spring 、springMVC 依赖 jar 包(蛋疼的事儿)
- 配置 web.xml
- 配置 spring 配置文件
- 写一个 HelloWorld 的 controller 类
- 本地安装 tomcat ,进行部署调试
而 Spring Boot 为您简化了很多。 好了,不多说,直接上代码。。。
Spring Boot 入门之 HelloWorld
- eclipse + mvn 创建一个 maven 项目
- 修改 pom.xml 文件
<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>1.5.10.RELEASE</version>
</parent>
<groupId>cn.alinwork</groupId>
<artifactId>01-springboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- jdk1.7 -->
<properties>
<java.version>1.7</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
- demo 使用的是 1.5.10.RELEASE 版本 spring boot,jdk 版本1.7;
- spring-boot-starter-web: spring boot 的 web 启动器,此依赖包含了基本的 web 项目所需的 jar 包;
- 写一个 HelloWorld 的 controller 类
package cn.alinwork.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloWorld {
@RequestMapping("/hello")
public Map<String, Object> showHelloWorld(){
Map<String, Object> map = new HashMap<>();
map.put("msg", "HelloWorld");
return map;
}
}
@RestController: 相当于 @Controller + @ResponseBody ;
- 写一个 spring boot 启动类
package cn.alinwork;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* SpringBoot 启动类
*/
@SpringBootApplication
@MapperScan("cn.alinwork.mapper")
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
关于 @SpringBootApplication 注释与 SpringApplication.run() 我们以后详解;
好了,到此一个基于 spring boot 的 HelloWorld 已编写完毕,下面进行测试:
- 运行启动类 App.java 的 main 方法
- 在浏览器输入 (http://localhost:8080/hello)
image.png
注意事项
- jdk 版本与 spring boot 版本兼容:
- jdk1.7 不支持 spring boot 2.0.0 及以上版本;
- 2.0.0 版本前用 jdk1.7;
- 2.0.0 及以上版本用 jdk1.8;
- 启动器存放的位置:
启动器默认扫描同包及子包下的文件;
所以可以和 controller 位于同一个包下,或者位于 controller 的上一级包中,但是不能放到 controller 的平级包以及子包下;
网友评论