简介

  • Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者的。
  • 在以前的spring项目中,都会面对大量繁琐的配置,使用的时候基本上都是大量的复制黏贴。而Spring Boot 则能让我们在不需要过多的配置下,轻松快速地搭建Spring Web应用,开箱即用,没有代码生成,也无需XML配置,从而快速使用spring框架。

开始

版本:java 1.8.0_51 & spring boot 1.5.4

一、构建简单spring boot 项目

这里官网提供的生成器SPRING INITIALIZR 来创建简单的spring boot 项目。

1. 访问 http://start.spring.io

选项: 工程(maven) 语言(java) SpringBoot版本(1.5.4)
Group填组名,Artifact填模块名,右侧Dependencies 可以选择相应的依赖,因为我们要构建web项目,所以可以添加web的依赖。
点击 Generate Project 生成下载项目。

2. 把下载的maven项目导入IDE并运行

把下载的项目解压并导入到IDE中(这里使用IntelliJ IDEA)
如下:

直接运行 DemoApplication.java 的main方法。
运行成功的截图:

其中可以看到,项目的进程ID为:25642,可以通过java的jconsole工具查看详细信息。
其中可以看到项目的启动端口为8080 (spring boot 默认端口,可以在application.properties中修改)

3. 编写controller服务

新建controller包,包下新建IndexController
package com.sam.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @author sam* @since 2017/7/14*/
@RestController
public class IndexController {@RequestMapping("/index")public String index() {return "index";}}
注:@RestController 这个注解相当于同时添加@Controller和@ResponseBody注解。
运行DemoApplication.java 启动项目,启动日志可以看到端口为8080
打开浏览器访问:http://localhost:8080/index 可得结果。

说明'''项目运行方式:

  • 在idea中,直接运行DemoApplication.java 文件。
  • 把项目通过maven命令 mvn package 打成jar包,通过命令 java -jar demo-0.0.1-SNAPSHOT.jar 直接执行jar包
  • 借助maven插件,执行mvn spring-boot:run 即可运行项目。

二、pom.xml 讲解

打开pom.xml文件,查看配置信息

继承 parent 父模块,spring-boot-starter-parent 模块中包含了自动配置、日志和YAML(参考:https://my.oschina.net/u/3235888/blog/887854) ,使构建spring项目变得简单。

 <!-- 继承 spring boot 父包-->
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.4.RELEASE</version><relativePath/> <!-- lookup parent from repository -->
</parent>

pom.xml中依赖 spring-boot-starter-web 模块,包括了Tomcat和spring-webmvc(参考:https://my.oschina.net/u/3235888/blog/887854) ,不需要指定version 版本,因为父模块中已经有默认配置,如果需要指定版本可添加。

<!-- 构建web项目模块 包括了Tomcat和spring-webmvc -->
<!-- spring-boot-starter-web 默认依赖了tomcat的starter 所以使得项目可以直接运行而不需要部署到tomcat中-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

pom.xml中依赖 spring-boot-starter-test 测试模块,包括JUnit、Hamcrest、Mockito

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency>
在spring-boot中,模块的依赖都是以starter的方式进行,以 spring-boot-starter-方式命名,指明了具体的模块。spring-boot生态中提供了丰富的starter供开发者使用(参考:https://my.oschina.net/u/3235888/blog/887854)
这种模块化的依赖,简化了大量的依赖配置。使用starter的依赖方式,可以把相应需要依赖的包一起依赖到项目中,而不像传统的Spring 需要各自依赖包。
如在spring-boot中web模块,在传统的Spring配置中需要依赖 org.springframework spring-web 等web服务的包,在spring-boot中,只需要依赖spring-boot-starter-web 就能把相应的包一并依赖进来,极大的简化了配置。

补充

上面讲解了可以从 http://start.spring.io 中直接构建spring-boot项目
下面讲解直接在IntelliJ IDEA中构建spring-boot项目

1. 打开 IDEA ,新建项目

2. 选择Spring Initializr 并在 Choose Initializr Service URL 填入 https://start.spring.io ,点击Next

3. 填入Group Artifact 等相关信息,点击Next

4. 选择你需要依赖的模块,点击Next

5. 点击Finish即可

版权声明:本文为博主原创文章,转载请注明出处。

转载于:https://www.cnblogs.com/magicalSam/p/7171716.html

Spring Boot 系列(一)快速入门相关推荐

  1. 项目监控之Spring Boot 监控端点 Actuator 入门

    1. 概述 应用在部署在生产环境下,我们还需要考虑应用的管理与监控.例如说,应用是否健康存活.应用的 JVM 监控信息.服务器的监控信息(CPU.内存.磁盘等等). 如果我们为应用的管理与监控做相应的 ...

  2. SpringBoot系列: RestTemplate 快速入门

    ==================================== 相关的文章 ==================================== SpringBoot系列: 与Sprin ...

  3. Spring Boot (16)---优雅的入门篇

    Spring Boot (16)---优雅的入门篇 Spring一直是很火的一个开源框架,在过去的一段时间里,Spring Boot在社区中热度一直很高,所以决定花时间来了解和学习,为自己做技术储备. ...

  4. Spring Boot 消息队列 RocketMQ 入门

    转载自  芋道 Spring Boot 消息队列 RocketMQ 入门 摘要: 原创出处 http://www.iocoder.cn/Spring-Boot/RocketMQ/ 「芋道源码」欢迎转载 ...

  5. Spring Boot系列之Thymeleaf模板布局

    PS:原文首发于微信公众号:躬行之(jzman-blog) 前面几篇文章尝试了接口开发.Thymeleaf 模板及其常用语法,阅读本文之前可以阅读前面几篇: Spring Boot系列之开发一个接口 ...

  6. 国内最全的Spring Boot系列之三

    历史文章 <国内最全的Spring Boot系列之一> <国内最全的Spring Boot系列之二> 马上要过年了,作者要回家好好休息一下了,吃饱喝足,明年继续.在此和大家拜个 ...

  7. Spring Boot 系列(八)@ControllerAdvice 拦截异常并统一处理

    Spring Boot 系列(八)@ControllerAdvice 拦截异常并统一处理 参考文章: (1)Spring Boot 系列(八)@ControllerAdvice 拦截异常并统一处理 ( ...

  8. spring boot / cloud (十七) 快速搭建注册中心和配置中心

    spring boot / cloud (十七) 快速搭建注册中心和配置中心 本文将使用spring cloud的eureka和config server来搭建. 然后搭建的模式,有很多种,本文主要聊 ...

  9. Spring Boot登录选项快速指南

    "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证. 在本文中 ...

  10. 【小马哥】Spring Boot系列讲座

    这里推荐一个不错的Spring Boot系列讲座,讲师简介如下: 小马哥,阿里巴巴技术专家,从事十余年Java EE 开发,国内微服务技术讲师.目前主要负责微服务技术推广.架构设计.基础设施.迁移等. ...

最新文章

  1. html 商品展示框
  2. 数据结构--图(Graph)详解(一)
  3. 中职高级计算机操作员,计算机操作员专业排行榜
  4. Kubernetes CRD开发模式及源码实现深入剖析-Kubernetes商业环境实战
  5. 使用JavaScript和D3.js实现数据可视化
  6. ADO.NET Entity Framework 学习
  7. javascript 滚动+停留 代码
  8. Linux 命令(34)—— vim 命令
  9. Game.Physics.Engine.Development(游戏物理引擎开发)
  10. 剑指 Offer 32-I/32-II/32-III从上到下打印二叉树c++
  11. java书名号乱码_别骗我,这些居然是汉字,不是乱码
  12. 为什么腾讯微云显示服务器繁忙,谁知道腾讯微云是干什么?
  13. 淘宝测试开发实习总结
  14. js+php+mysql写的rpg网页游戏引擎源码-DotK改进版
  15. HDU 6148 Valley Numer
  16. mysql数据库设计工具_四种优秀的数据库设计工具
  17. 调焦距离S远近与景深之关系
  18. Ubuntu下搭建第一台hadoop输入start-dfs.sh出现Permission denied (publickey,password)的问题
  19. 大连医科大学中山学院计算机科学与技术,大连医科大学中山学院计算机科学与技术专业2016年在山西理科高考录取最低分数线...
  20. 单枪匹马撸个聊天室, 支持Web/Android/iOS三端

热门文章

  1. CSS之viewports剖析
  2. C++自定义对象如何支持Range-based循环语法
  3. (转)在Windows上安装GPU版Tensorflow
  4. 新华计算机学校环境好吗,新华电脑校园环境好不好?(二)
  5. 线程八大核心+java并发核心知识体系精讲_Java从业者如果不懂这些,面试80%都会挂在这些核心知识上面...
  6. python 收发邮件_python发送各类邮件的主要基本方法
  7. cmake 判断操作系统平台
  8. error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“MTd_StaticDebug”...
  9. ATL和ActiveX做的控件.dll和.ocx最主要的区别(摘录)
  10. c#完美截断字符串(中文+非中文)