【SpringBoot】2.快速搭建一个SpringBoot应用

上一篇博客我们介绍了SpringBoot的概念,这里我们通过快速搭建一个SpringBoot应用来体验SpringBoot的特色。

1.创建工程
首先我们打开MyEclipse,创建一个Maven工程:
【SpringBoot】2.快速搭建一个SpringBoot应用_第1张图片
然后选择创建模式,这里我们选择不需要骨架:
【SpringBoot】2.快速搭建一个SpringBoot应用_第2张图片
最后填写项目相关参数:
【SpringBoot】2.快速搭建一个SpringBoot应用_第3张图片
项目创建之后工程目录如下:
【SpringBoot】2.快速搭建一个SpringBoot应用_第4张图片
pom.xml文件中有一些错误,我们先去配置它,在POM文件中添加SpringBoot的依赖,配置如下:

  4.0.0
  cn.com.springboot.web
  spring-boot-test
  0.0.1-SNAPSHOT
  war
  
  
       org.springframework.boot
       spring-boot-starter-parent
       1.5.4.RELEASE
        
   


   
       UTF-8
       UTF-8
       1.8
   
  
  
       
           org.springframework.boot
           spring-boot-starter-web
       


       
           org.springframework.boot
           spring-boot-starter-test
           test
       
       
         
	      mysql  
	      mysql-connector-java  
	     
   


   
       
           
               org.springframework.boot
               spring-boot-maven-plugin
           
       
   
我们将jre环境换为1.8(因为SpringBoot中很多依赖是需要jdk1.8版本支持的):
【SpringBoot】2.快速搭建一个SpringBoot应用_第5张图片

然后我们保存pom.xml文件,当编译器加载更新完毕后,我们会在工程中看到maven依赖被成功加载进来:
【SpringBoot】2.快速搭建一个SpringBoot应用_第6张图片

此时我们打开“Maven Dependencies”依赖的详情,可以看到如下依赖被引入:
【SpringBoot】2.快速搭建一个SpringBoot应用_第7张图片
我们可以发现web常用的依赖都被引入进来了,就如前面概述中所说的,SpringBoot的核心依赖中包含了许多开发常用的jar包依赖。

我们要解释的jar依赖有两个:
(1)spring-boot-starter-parent
该依赖为Spring Boot的父级依赖,它用来提供相关的Maven默认依赖,引入该依赖之后,常用的包依赖可以省去version标签。
想查看Spring Boot提供了哪些jar包的依赖,可以去本地的maven仓库的以下路径:
xxx\repository\org\springframework\boot\spring-boot-dependencies\1.5.4.RELEASE\spring-boot-dependencies-1.5.1.RELEASE.pom
的pom文件中查看。若SpringBoot提供的依赖版本有些东西不是开发中需要的,可以选择去声明其他版本依赖覆盖本依赖。 

(2)spring-boot-starter-web
此依赖为Spring Boot的”开箱即用“依赖模块之一,“开箱即用”的依赖基本都是以spring-boot-starter-xx作为命名的。关于开箱即用,
它会自动封装所需功能的依赖,不需要做很多的配置和引入各种需要的依赖,也不会出现依赖版本不匹配的问题。 

然后我们创建用户请求响应Controller层,用来响应一个RESTful风格的请求:
【SpringBoot】2.快速搭建一个SpringBoot应用_第8张图片
代码如下:
package cn.springboot.test.controller;

import java.util.HashMap;
import java.util.Map;

import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
//该注解等价于@Controller+@ResponseBody的结合,使用这个注解的类里面的方法都以json格式输出。
public class HelloController {
  private static Map userMap = new HashMap();
  private void initUserMap(){
	  userMap.put(1, "张三");userMap.put(2, "李四");
	  userMap.put(3, "王五");userMap.put(4, "赵二");
  }
	
  @RequestMapping("/hello/{id}")
  public String findById(@PathVariable Integer id) {
	  initUserMap();
      return "你好,用户:" + userMap.get(id);
  }
}

SpringBoot启动有三种方式:
1. main方法启动 
2. 使用maven命令 mvn spring-boot:run 在命令行启动该应用 
3. Java -jar 命令启动,需要先运行“mvn package”进行打包

我们这里选项第一种方式。创建SpringBoot的一个核心启动类:
【SpringBoot】2.快速搭建一个SpringBoot应用_第9张图片
代码如下:
package cn.springboot.test;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
//Sprnig Boot项目的核心注解,主要目的是开启自动配置
public class SpringbootTestSimpleApplication {
	//该main方法作为项目启动的入口
    public static void main(String[] args) {
        SpringApplication.run(SpringbootTestSimpleApplication.class, args);
    }
}

我们运行SpringbootTestSimpleApplication,待控制台加载:
【SpringBoot】2.快速搭建一个SpringBoot应用_第10张图片


加载完毕后,我们在浏览器访问刚刚写的hello服务,访问id为1和2的用户信息。

当路径为"http://localhost:8080/hello/1"时,浏览器结果为:

当路径为"http://localhost:8080/hello/2"时,浏览器结果为:


就这样我们实现了一个简单的SpringBoot服务,看起来十分的简介和快速,这就是SpringBoot的强大之处。

下一篇文章会介绍SpringBoot为什么会快速实现一个服务的构建和发布。

转载请注明出处:http://blog.csdn.net/acmman/article/details/77161016

你可能感兴趣的:(SpringBoot,Spring,Boot入门)