通过笔者这段实践SpringBoot的学习,发现自从使用了SpringBoot后,就再也回不去SpringMVC了,因为相比于SpringMVC,SpringBoot真是太高效率了。下面我们看看它效率到底高在哪里?

在这里我选择在官网上快速搭建一个web应用,并导入到eclipse。

首先访问https://spring.io/projects/spring-boot,选择Quick Start下的Spring Innitializr。进入下面的页面:



按照顺序选择相应的配置:

  • ①是指选择构建一个什么项目,这里我选择的是一个maven项目
  • ②是指的语言
  • ③是SpringBoot的版本,现在最新版本是2.0.2
  • ④和⑤是项目名
  • ⑥是自动构建的项目里锁依赖的包,这里我们只选择web,添加后如⑦所示

点击Generate Project后,会下载一个jar包到本地,然后把这个jar包导入到eclipse的工作空间,目录结构如下图所示:

可以看到这就是一个很普通的maven项目的目录结构,其实到这里一个简易的web项目就已经搭建已经成功一半了,剩下的就是写一个controller接口来验证是否搭建成功。

我们先往下写,最后再来解释为什么要这么做。同SpringMVC一样,我们在src/main/java目录下新建一个接口controller:

@Controller
public class HelloController { @RequestMapping("/hello")
@ResponseBody
public String hello(){
return "hello SpringBoot";
}
}

写法和SpringMVC一样。OK,那我们写好了controller后,就应该访问http://localhost:8080/hello这个url了。问题是怎么启动我们的项目呢?

在我们的项目里有一个DemoApplication类,这个类里有整个项目唯一的一个main方法,SpringBoot官方文档告诉我们应该通过这个main方法去启动项目。这里还有一点非常重要,那就是这个启动类的位置,我在一开始搭建的时候也犯了这个错误:那就是没有将启动类放在父目录或者平级目录里。

什么意思呢?就是在你开发项目的过程中,你所有的Java代码都必须与启动类在同一包或其子包下,这样项目启动的时候,SpringBoot才会去加载到你写的代码。

解决好这个问题后,下面我们通过main启动项目,访问http://localhost:8080/hello这个第一,就可以看到如下页面了:

完成!

可以看到整个过程没有像以前搭建SSM框架一样,捣鼓xml、tomcat、web.xml配置之类的,这是因为所有你需要的,在自动搭建项目的这个过程,SpringBoot都帮你配置好了。这也正体现了当下特别流行的一个概念 : 约定优于配置 。

所谓的约定优于配置就是:开发人员仅需规定应用中不符约定的部分,旨在减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。SpringBoot完全体现了这种优点。

学习完SpringBoot的快速搭建后,我们就进入SpringBoot的一些常见的接口请求和数据返回的学习。

快速开发第一个SpringBoot应用的更多相关文章

  1. .NETCore 快速开发做一个简易商城

    介绍 上一篇介绍 <.NETCore 基于 dbfirst 体验快速开发项目>,讲得不太清楚有些多人没看懂.这次吸取教训,将一个简易商城做为案例,现实快速开发. 本案例用于演示或学习,不具 ...

  2. 如何快速开发出一个高质量的APP——创业谈

    [起] 今早,一个技术群里有人想快速做出一个app,然后询问技术方案,大概是这样, 拿到了200w投资,期望花20w两个月先做出一个app,包括iOS,Android, 先,呵呵,一下, 大概预估了一 ...

  3. 【创业积累】如何快速开发出一个高质量的APP

    [起] 今早,一个技术群里有人想快速做出一个app,然后询问技术方案,大概是这样, 拿到了200w投资,期望花20w两个月先做出一个app,包括ios,android, 先,呵呵,一下, 大概预估了一 ...

  4. 10个Spring Boot快速开发的项目,接私活利器(快速、高效)

    本文为大家精选了 码云 上优秀的 Spring Boot 语言开源项目,涵盖了企业级系统框架.文件文档系统.秒杀系统.微服务化系统.后台管理系统等,希望能够给大家带来一点帮助:) 1.项目名称:分布式 ...

  5. (一)IDEA工具开第一个springboot应用之helloworld

    (一)IDEA工具开第一个springboot应用之helloworld 一.前置知识 1.maven相关知识 2.spring注解 3.RESTful API 二.idea开发第一个springbo ...

  6. 【转载】如果快速开发APP&创业

    先贴原文所在个人博客: http://uikoo9.com/ 今天看了一些这个人的文章,还是有一定见解的,比如下面这篇 <如何快速开发出一个高质量的APP——创业谈> http://uik ...

  7. 使用IDEA 搭建一个 SpringBoot + Hibernate + Gradle 项目

    现在创建个项目: 勾上 自已 需要东西.(这里作为演示) maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'} 关闭项目 ...

  8. spring-boot开发:使用内嵌容器进行快速开发及测试

    一.简述一下spring-boot微框架 1.spring-boot微框架是什么? 大家都知道,在使用spring框架进行应用开发时需要很多*.xml的初始化配置文件,而springBoot就是用来简 ...

  9. 基于SpringBoot+Mybatis+AntDesign快速开发平台,Jeecg-Boot 1.1 版本发布

    Jeecg-Boot 1.1 版本发布,初成长稳定版本 导读     平台首页UI升级,精美的首页支持多模式 提供4套代码生成器模板(支持单表.一对多) 集成Excel简易工具类,支持单表.一对多导入 ...

随机推荐

  1. 国产操作系统剽窃Linux内核可耻!

    10月28日,新浪科技发表文章,题为"国产操作系统迎来利好:部委机构正大量採购",读后有感. 如今,国家进入法制时代.政府採购"国产操作系统",似乎成为一种&q ...

  2. Docker简单的使用命令

    Hello World 使用[docker run]命令在docker container中执行应用程序 <pre name="code" class="plain ...

  3. Linux开关命令(shutdown,reboot,halt,init)

    命令简短 shutdown,poweroff,reboot,halt,init都能够进行关机,大致使用方法. /sbin/halt     [-n] [-w] [-d] [-f] [-i] [-p] ...

  4. uwp - 禁用屏幕翻转/禁用屏幕旋转/禁用横屏模式

    原文:uwp - 禁用屏幕翻转/禁用屏幕旋转/禁用横屏模式 解决方案目录 > Package.appxmanifest 双击打开,把支持的旋转:纵向勾上,只勾这一个其他不勾,就可以了.同理,想让 ...

  5. Linux下快速静态编译Qt以及Qt动态/静态版本共存(提供了编译4.6,5.6的精通编译脚本,并且apt-get install 需要的库也全列出来了。还有分析问题的心理过程)good

    qt4.6 Linux./configure -static -release -confirm-license -opensource -qt-zlib -qt-libpng -qt-libjpeg ...

  6. 如何成为QTP专家

    关键字:QTP 自动化测试 专家地址:http://www.cnblogs.com/txw1958/archive/2012/11/20/how-to-become-qtp-guru.html Wou ...

  7. 转:PyQt4学习资料汇总 from coderzh

    一个月前研究了下PyQt4,感觉比较不错.相比wxpython,界面美观了很多,并且将界面设计与代码逻辑很好的分离了开来.关于PyQt4的资料也不少,这里我将我找到的资料汇总一下,以防自己以后忘得一干 ...

  8. c#扩展方法简单

    扩展方法 怎样知道的. 这还得从项目的本身说起.该项目是一套的微软底层架构上搭建起来的. 全部的框架以及控件的封装,数据的传递方法都是总体的框架封装好的. 对经常使用的dropwodnlist控件的数 ...

  9. git建tag备忘

    1.git tag -a v1.1.8_20180613 -m '实时上传位置等功能提交测试' 2. git push origin v1.1.8_20180613

  10. 潜移默化学会WPF--值转换器

    原文:潜移默化学会WPF--值转换器 1. binding 后面的stringFormat的写法----连接字符串 <TextBlock Text="{Binding Path=Qty ...