• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Java > Spring Boot 快速入门指南

Spring Boot 快速入门指南

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了spring boot参考指南,spring boot入门,spring boot入门教程,spring boot 快速入门,spring boot入门视频等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

最近因为项目的缘故,需要接触 Spring Boot,详细的介绍可以参考官方的文档,这里主要根据自己学习的实践进行简单分享。版本:1.3.6

简介

Spring 框架是非常著名的 Java 开源框架,历经十多年的发展,整个生态系统已经非常完善甚至是繁杂,Spring Boot 正是为了解决这个问题而开发的,为 Spring 平台和第三方库提供了开箱即用的设置,只需要很少的配置就可以开始一个 Spring 项目。当然,建议使用 Java 8 来进行开发。

Spring Boot 实际上走的是 Servlet 的路线,所以需要一个 Servlet 容器,什么 Tomcat/Jetty 都支持,比较意外的是居然还支持 Undertow(Undertow 大法好)。

安装

简单粗暴直接上命令行,具体的简介参考注释

# 确定 Java 版本 
dawang:~ dawang$ java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
# 安装 Spring Boot CLI
# 这是第一条语句
dawang:~ dawang$ brew tap pivotal/tap
==> Tapping pivotal/tap
Cloning into '/usr/local/Library/Taps/pivotal/homebrew-tap'...
remote: Counting objects: 16, done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 16 (delta 2), reused 5 (delta 0), pack-reused 0
Unpacking objects: 100% (16/16), done.
Checking connectivity... done.
Tapped 9 formulae (50 files, 46.1K)
# 这是第二条语句
dawang:~ dawang$ brew install springboot
==> Installing springboot from pivotal/tap
==> Downloading https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/1.3.6.RELEASE/spring-boot-cli-1.3.6.RELEASE-bin.tar.
######################################################################## 100.0%
==> Caveats
Bash completion has been installed to:
 /usr/local/etc/bash_completion.d
zsh completion has been installed to:
 /usr/local/share/zsh/site-functions
==> Summary
:beer: /usr/local/Cellar/springboot/1.3.6.RELEASE: 6 files, 8.9M, built in 4 minutes 39 seconds
</div>

然后我们就可以试试看 Spring CLI 的强大威力了!创建一个名为 app.groovy 的文件

@RestController
class ThisWillActuallyRun {
 @RequestMapping("/")
 String home() {
 "Hello World"
 }
}
</div>

只需要运行 spring run app.groovy 即可!然而,在我的机器上并没有这么顺利, spring 已经被 ruby 无情占用,只好在 .bashrc 中新建一个别名 alias springj="/usr/local/Cellar/springboot/1.3.6.RELEASE/bin/spring" ,然后用 springj run app.groovy 运行。

还不行!打开 localhost:8080 的时候发现机器启动着 nginx,所以要先把 nginx 关掉,具体的步骤是

# 查找对应的进程号
ps aux | grep nginx
# 发送关闭信号
kill -QUIT [nginx 主进程 pid]
</div>

解决掉各种拦路虎,我们再次运行 springj run app.groovy ,就可以在浏览器中见到 Hello World 了。

dawang$ springj run app.groovy
Resolving dependencies.......
 . ____ _ __ _ _
 /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/ ___)| |_)| | | | | || (_| | ) ) ) )
 ' |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot :: (v1.3.6.RELEASE)
</div>

最后我们需要安装的有Gradle 和 IntelliJ IDEA CE ,这里就不赘述了,安装好了我们就可以进行下一步了

Hello World

在 Spring INITIALIZR 进行简单设置即可生成项目模板,如下图所示:

 

然后我们把下载的文件解压并导入 IntelliJ 中,稍作等待即可。

 

目录结构如上图所示,我们直接运行这个 main 函数看看,控制台中的输出为

. ____ _ __ _ _
 /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/ ___)| |_)| | | | | || (_| | ) ) ) )
 ' |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot :: (v1.3.6.RELEASE)
2016-07-19 19:29:41.235 INFO 65812 --- [ main] wdx.helloworld.HellowordApplication : Starting HellowordApplication on dawang.local with PID 65812 (/Users/dawang/Documents/DJI/Code/helloword/build/classes/main started by dawang in /Users/dawang/Documents/DJI/Code/helloword)
2016-07-19 19:29:41.239 INFO 65812 --- [ main] wdx.helloworld.HellowordApplication : No active profile set, falling back to default profiles: default
2016-07-19 19:29:41.320 INFO 65812 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@545997b1: startup date [Tue Jul 19 19:29:41 CST 2016]; root of context hierarchy
2016-07-19 19:29:42.336 INFO 65812 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2016-07-19 19:29:42.353 INFO 65812 --- [ main] wdx.helloworld.HellowordApplication : Started HellowordApplication in 1.865 seconds (JVM running for 3.141)
2016-07-19 19:29:42.354 INFO 65812 --- [ Thread-1] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@545997b1: startup date [Tue Jul 19 19:29:41 CST 2016]; root of context hierarchy
2016-07-19 19:29:42.356 INFO 65812 --- [ Thread-1] o.s.j.e.a.AnnotationMBeanExporter : Unregistering JMX-exposed beans on shutdown
Process finished with exit code 0
</div>

当然,因为我们的程序中没有做任何操作,也没有配合 Web 模块,所以加载 Spring 完成之后就结束了。

我们看看项目对应的 build.gradle ,其中只包含了两个模块:

dependencies {
 compile('org.springframework.boot:spring-boot-starter')
 testCompile('org.springframework.boot:spring-boot-starter-test')
}
</div>

其中:

  • spring-boot-starter :核心模块,包括自动配置支持、日志和 YAML
  • spring-boot-starter-test :测试模块,包括 JUnit、Hamcrest、Mockito

我们加入 spring-boot-starter-web 模块,对应的 dependencies 部分为

dependencies {
 compile('org.springframework.boot:spring-boot-starter')
 compile('org.springframework.boot:spring-boot-starter-web')
 testCompile('org.springframework.boot:spring-boot-starter-test')
}
</div>

然后在 wdx.helloworld.web 这个 package 中加入一个 HelloController 类:

package wdx.helloworld.web;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * Created by dawang on 16/7/20.
 */
@RestController
public class HelloController {
 @RequestMapping("/hello")
 public String index() {
 return "Hello World! This is wdxtub.";
 }
}
</div>

再启动主程序,访问 localhost:8080/hello 时就可以看到结果了:

 

然后我们编写一下对应的测试 HellowordApplicationTests (单词拼错了不要在意这些细节),注意需要引入一些 static 方法:

package wdx.helloworld;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.http.MediaType;
import org.springframework.mock.web.MockServletContext;
import org.springframewo



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Spring Boot 快速入门指南

相关文章

  • 2017-05-28Javaweb获取表单数据的多种方式
  • 2017-05-28Kotlin开发Android应用实例详解
  • 2017-05-28详解 问题:HttpServlet cannot be resolved to a type
  • 2017-05-28Spring Boot使用Druid和监控配置方法
  • 2017-05-28详解Spring Boot中Controller用法
  • 2017-05-28详解Java中Collections.sort排序
  • 2017-05-28Java中ArrayList和LinkedList之间的区别_动力节点Java学院整理
  • 2017-05-28java中ArrayList与LinkedList对比详情
  • 2017-05-28java中ArrayList与LinkedList对比详情
  • 2017-05-28Java 冒泡排序、快速排序实例代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • springboot如何读取配置文件(application.yml)中的属性值
    • SpringMVC实现文件的上传和下载实例代码
    • java实现上传图片并压缩图片大小功能
    • 详解使用JavaCV/OpenCV抓取并存储摄像头图像
    • Java枚举_动力节点Java学院整理
    • java中Callback简单使用总结
    • spring整合redis缓存并以注解(@Cacheable、@CachePut、@CacheEvict)形式使用
    • 浅谈JSP与Servlet传值及对比(总结)
    • struts2架构中核心对象的探索—— ActionContext和ServletActionContext
    • java 中 阻塞队列BlockingQueue详解及实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有