通过笔者这段实践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. WPF 使用 SharpDX

    原文:WPF 使用 SharpDX 版权声明:博客已迁移到 http://lindexi.gitee.io 欢迎访问.如果当前博客图片看不到,请到 http://lindexi.gitee.io 访问 ...

  2. WPF XAML中 Storyboard.TargetProperty设置TransformGroup指定的变换"RenderTransform.Children

    <Grid x:Name="xx" RenderTransformOrigin="0.5,0.5"> <Grid.RenderTransfor ...

  3. 人猿方案Ubuntu这些软件的安装

    鄙人程序员一枚,Android开发,常年使用Ubuntu(主要是买不起Mac.O(∩_∩)O哈哈~).分享一下自己使用的那些软件.假设你有什么好的软件.欢迎与我交流. 输入法:開始的时候是用的fcit ...

  4. 用C语言编写Windows服务程序的五个步骤

    Windows 服务被设计用于需要在后台运行的应用程序以及实现没有用户交互的任务.为了学习这种控制台应用程序的基础知识,C(不是C++)是最佳选择.本文将建立并实现一个简单的服务程序,其功能是查询系统 ...

  5. VS中发布并调试IIS程序(非附加进程!!!)

    筒子们,你们不觉得发布到IIS再附加进程太烦了么???看了看网上全是这种方法,这不科学!VS已经提供了更好的方式了,少年们! 流程 1.打开你的IIS,创建一个站点示例中,我创建了一个端口号为5002 ...

  6. .net core 2.0 读取配置文件

    1.引用Microsoft.Extensions.Configuration2.在Startup中注入服务 public static IConfiguration Configuration { g ...

  7. ubuntu 关闭 phpmyadmin

    apache 有很多管理服务器的命令.apt-get installl phpmyadmin后突然想暂时关闭phpmyadmin,只需要a2disconf phpmyadmin即可.需要启用的时候再输 ...

  8. WPF Dispatcher的使用

     <Window x:Class="DispatcherExam.MainWindow"         xmlns="http://schemas.micro ...

  9. NetCore 上传,断点续传,可支持流上传

    之前公司要做一个断点续传的业务,找了许多都没有找到合适的,都是残次不全的,终于让我遇到一个基于百度的 webuploader 的断点续传.原作者: 断点续传(上传)( https://www.some ...

  10. Win8 Metro(C#)数字图像处理--2.57一维最大熵法图像二值化

    原文:Win8 Metro(C#)数字图像处理--2.57一维最大熵法图像二值化  [函数名称] 一维最大熵法图像二值化WriteableBitmap EntropymaxThSegment(Wr ...