一、安装

其实spring boot官方已经提供了用于开发spring boot的定制版eclipse(STS,Spring Tool Suite)直接下载使用即可,但考虑到可能有些小伙伴不想又多装个eclipse,我们这里还是介绍使用原版eclipse再在其上安装spring插件进行开发的方法。

STS下载地址:http://spring.io/tools3/sts/all

1.1 安装jdk

jdk一是用于运行eclipse,二是用于开发spring boot项目。

安装方法可参考链接:https://www.cnblogs.com/lsdb/p/6497816.html

jdk官方下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

1.2 安装eclipse

eclipse可用于开发多种语言的项目,选择Eclipse IDE for Java EE Developers版本下载,解压即可(Eclipse IDE for Java Developers版本应该也可以)

官方下载地址:https://www.eclipse.org/downloads/packages/

1.3 安装spring插件

打开eclipse----菜单----Help----Eclipse Marketplace----在Find搜索框中输入spring----回车搜索

注意这里不是我们点Finish就安装完成了,注意看eclipse右下角installing software到百分之百时才是安装完成,安装完成后会提示重启如下选择重启即可。

(一是插件比较大二是外国网站网速比较慢三是在线安装感觉就是经常有问题,其实不太推荐在线安装;但是离线安装又有问题没搞定所以只能演示在线安装)

二、新建spring boot项目

打开eclipse----菜单----File----New----Project(插件装成功后才会有Spring Boot项)

填好项目信息,点击next(这里本质还是到https://start.spring.io/页面生成项目)

finish之后我们就得到了一个spring boot项目,其目录结构如下(此时所有东西都是自动生成的未做任何改动)

三、实现REST请求

在上一步中我们已经得到了一个spring boot项目,下边我们以在此基础上实现一个rest请求作为开发演示

3.1 创建项目结构

首先我们按习惯在demo目录下,创建model文件夹(用于存放model)、dao文件夹(用于存放数据访问文件)、controller文件夹(用于存放控制器)、service(用于存放主要的程序逻辑代码)

(不过下面为了简单起见dao和service不用到,只使用model,然后controller直接返回结果。)

3.2 实现model

在model文件夹创建Test.java文件,写入以下内容:

package com.example.demo.model;

public class Test {

    private final long id;
private final String content; public Test(long id, String content) {
this.id = id;
this.content = content;
} public long getId() {
return id;
} public String getContent() {
return content;
}
}

3.3 实现controller

在controller文件夹创建TestController.java文件,写入以下内容:

(该内容主要是对test和test1两个请求进行响应,test和test1两个请求的返回结果是一样的写两个是为了强调一个Controller文件就可以处理多个请求,不用每个请求都建一个Controller)

package com.example.demo.controller;

import java.util.concurrent.atomic.AtomicLong;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import com.example.demo.model.Test; @RestController
public class TestController { private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong(); @RequestMapping("/test")
public Test dealTest(@RequestParam(value="name", defaultValue="World") String name) {
return new Test(counter.incrementAndGet(),
String.format(template, name));
}
@RequestMapping("/test1")
public Test dealTest1(@RequestParam(value="name", defaultValue="World") String name) {
return new Test(counter.incrementAndGet(),
String.format(template, name));
}
}

完成后项目结构如下:

3.4 运行项目

选择项目----右键----Run As----Spring Boot App

控制台选项卡会打印运行日志,如下我们可以看到监听于本地8080端口

又由于我们前面创建了test请求的响应,此时通过浏览器访问http://localhost:8080/test,响应结果如下:

3.5 实现热部署

在当前项目中但凡我们对项目文件有所修改,要修其生效都要手动重新运行;比如我们将请求修从test修改为modify,要此修改生效就得手动重新运行这是比较麻烦的。

如果能修改保存之后系统自己重新运行那是非常好的,这就是所谓的热部署,而spring boot通过简单配置就能实现热部署。

首生,打开项目根目录下的pom.xml文件,在<dependencies></dependencies>标签内加入以下内容:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>

其次,eclipse菜单----Project菜单----确保Build Automatically处于钩选状态。

经此两步,每当选择“保存”eclipse检测到项目有修改就会自动重新构建项目免去手动重启的麻烦。

四、使用体验

一、关于spring boot本身

如果我们去看ssh的书(比如《Struts2 Spring Hibernate框架技术与项目实战》)就会看到厚厚的一本,然后其中很大部分内容是教你到哪下载什么文件放到哪里然后要修改哪些配置文件----反正就是说搭建ssh开发环境就是一件旁杂的事情。

但到spring boot中一是spring boot其实可以实现ssh的作用消灭了一堆集成配置,二是自带tomcat消灭了tomcat的安装配置,三是自身支持REST,四是maven/gradle简化了jar文件的下载安装及一些配置,通过这几点确实实现了其“简单”的口号。

二、关于技术迭代

网上总存在着这样的感慨----技术迭代得太快了----这大概是asp/dephi/C++年代的前辈声音;而伴随着这种感慨会有一种批评----技术的本质还是不怎么变只要掌握本质再花点时间就能掌握新技术----这大概是移动互联网兴起以来进入计算机的新人发出的声音。

本质未变可以理解,正如我们这里只要会写ssh那么只需要花点时间就能写spring boot。但所谓“花点时间”让我想起以前学数学的时候对某个解法不是很熟练,然后想这应该没多大关系到考试时只要多花两分钟还是能算出来,然而到考试的时候发现并挤不出那所谓的两分钟。生活也许不像考试限定你一两个小时,但生活也不只是写程序每天可以有时间学习。

这里最坏的时代,新的技术总是层出不穷让人疲于奔命;这是最好的时代,规律越来越明显文档越来越清晰框架越来越强大。最坏的时代无法抗拒,只能用最好的时代来安慰自己。

参考:

https://www.yiibai.com/spring-boot/spring_boot_introduction.html

https://blog.csdn.net/Guohenghenghaha/article/details/76080229

Eclipse+Spring boot开发教程的更多相关文章

  1. spring boot 开发环境搭建(Eclipse)

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  2. Spring Boot 系列教程10-freemarker导出word下载

    freemarker FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个 ...

  3. Spring Boot 基础教程系列学习文档

    Spring Boot基础教程1-Spring Tool Suite工具的安装 Spring Boot基础教程2-RESTfull API简单项目的快速搭建 Spring Boot基础教程3-配置文件 ...

  4. spring boot 实战教程

    二八法则 - get more with less Java.spring经过多年的发展,各种技术纷繁芜杂,初学者往往不知道该从何下手.其实开发技术的世界也符合二八法则,80%的场景中只有20%的技术 ...

  5. Spring Boot 系列教程19-后台验证-Hibernate Validation

    后台验证 开发项目过程中,后台在很多地方需要进行校验操作,比如:前台表单提交,调用系统接口,数据传输等.而现在多数项目都采用MVC分层式设计,每层都需要进行相应地校验. 针对这个问题, JCP 出台一 ...

  6. Spring Boot 系列教程16-数据国际化

    internationalization(i18n) 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式. 它要求从产品中抽离所有地域语言,国家/地区和 ...

  7. Spring Boot 系列教程15-页面国际化

    internationalization(i18n) 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式. 它要求从产品中抽离所有地域语言,国家/地区和 ...

  8. Spring Boot 系列教程9-swagger-前后端分离后的标准

    前后端分离的必要 现在的趋势发展,需要把前后端开发和部署做到真正的分离 做前端的谁也不想用Maven或者Gradle作为构建工具 做后端的谁也不想要用Grunt或者Gulp作为构建工具 前后端需要通过 ...

  9. Spring Boot入门教程1、使用Spring Boot构建第一个Web应用程序

    一.前言 什么是Spring Boot?Spring Boot就是一个让你使用Spring构建应用时减少配置的一个框架.约定优于配置,一定程度上提高了开发效率.https://zhuanlan.zhi ...

随机推荐

  1. mysql 远程登录

    mysql -h 192.168.5.116 -P 3306 -u root -p123456

  2. [py]一致性hash原理

    1,可变,不可变 python中值得是引用地址是否变化. 2.可hash 生命周期里不可变得值都可hash 3.python中内置数据结构特点 有序不可变 有序可变 无序可变 无序不可变 5.一致性h ...

  3. 【JVM】-NO.110.JVM.1 -【GC垃圾收集器】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  4. 要学的javaee技术

    mybatis.hibernate.spirng MVC.freemarker.zookeeper.dubbo.quartz的技术框架:NoSQL技术ehcache.memcached.redis等: ...

  5. PHP提交表单失败后如何保留填写的信息

    index.html模板文件大内容: <html> <head> <title>jQuery Ajax 实例演示</title> </head&g ...

  6. Delphi文件目录操作(转载)

    Delphi判断文件夹(目录)是否存在,不存在就创建一个,可以一次创建多级目录 procedure TForm1.Button1Click(Sender: TObject);begin if not ...

  7. JS的防抖与节流

    JS的防抖与节流在进行窗口的resize.scroll,输入框内容校验等操作时,如果事件处理函数调用的频率无限制,会加重浏览器的负担,导致用户体验非常糟糕.此时我们可以采用debounce(防抖)和t ...

  8. vue-i18n使用ES6语法以及空格换行问题

    1.运行报错 报错使用了不恰当的exports Uncaught TypeError : Cannot assign to read only property 'exports ' of objec ...

  9. yii2 使用多个数据库的案例

    配置: 'components' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=ip; ...

  10. CSS Class 选择器

    CSS Class 选择器 再<stype>标签内,通过class属性来对标签进行css样式配置 <html> <head> <!-- style 设置头部标 ...