Eclipse+Spring boot开发教程
一、安装
其实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开发教程的更多相关文章
- spring boot 开发环境搭建(Eclipse)
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...
- Spring Boot 系列教程10-freemarker导出word下载
freemarker FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个 ...
- Spring Boot 基础教程系列学习文档
Spring Boot基础教程1-Spring Tool Suite工具的安装 Spring Boot基础教程2-RESTfull API简单项目的快速搭建 Spring Boot基础教程3-配置文件 ...
- spring boot 实战教程
二八法则 - get more with less Java.spring经过多年的发展,各种技术纷繁芜杂,初学者往往不知道该从何下手.其实开发技术的世界也符合二八法则,80%的场景中只有20%的技术 ...
- Spring Boot 系列教程19-后台验证-Hibernate Validation
后台验证 开发项目过程中,后台在很多地方需要进行校验操作,比如:前台表单提交,调用系统接口,数据传输等.而现在多数项目都采用MVC分层式设计,每层都需要进行相应地校验. 针对这个问题, JCP 出台一 ...
- Spring Boot 系列教程16-数据国际化
internationalization(i18n) 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式. 它要求从产品中抽离所有地域语言,国家/地区和 ...
- Spring Boot 系列教程15-页面国际化
internationalization(i18n) 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式. 它要求从产品中抽离所有地域语言,国家/地区和 ...
- Spring Boot 系列教程9-swagger-前后端分离后的标准
前后端分离的必要 现在的趋势发展,需要把前后端开发和部署做到真正的分离 做前端的谁也不想用Maven或者Gradle作为构建工具 做后端的谁也不想要用Grunt或者Gulp作为构建工具 前后端需要通过 ...
- Spring Boot入门教程1、使用Spring Boot构建第一个Web应用程序
一.前言 什么是Spring Boot?Spring Boot就是一个让你使用Spring构建应用时减少配置的一个框架.约定优于配置,一定程度上提高了开发效率.https://zhuanlan.zhi ...
随机推荐
- Spark Streaming之窗口函数和状态转换函数
流处理主要有3种应用场景:无状态操作.window操作.状态操作. reduceByKeyAndWindow import kafka.serializer.StringDecoder import ...
- openshift 容器云从入门到崩溃之六《Source-to-Image》
上次说到了怎么在oc上面部署应用而且说道了怎么定义模板部署应用,也许你会奇怪那个我代码打包编译在哪一步,那就要说道oc的s2i流程了 下面是基本s2i流程 1.制作base-image镜像 要使用s2 ...
- MTSC2019第五届中国移动互联网测试开发大会北京站震撼来袭!
MTSC2019 暨第五届中国移动互联网测试开发大会(Mobile Testing Summit China)是由国内最大的测试开发技术社区之一 TesterHome 发起的行业会议,聚焦于软件测试及 ...
- 实验隐藏参数"_allow_resetlogs_corruption"的使用
实验环境:OEL 5.7 + Oracle 10.2.0.5 Tips:该参数仅在特殊恢复场景下使用,需要在专业Oracle工程师指导下进行操作. 1.隐藏参数说明 2.故障场景再现 3.非常规恢复 ...
- CSS实现经典的三栏布局
实现效果: 左右栏定宽,中间栏自适应 (有时候是固定高度) 1 . 绝对定位布局:position + margin <div class="container"> & ...
- android studio 中如何合并冲突(转)
合并分支,解决冲突 执行Git merge ,如果有冲突,就会出现如下格式: <<<<<<< HEAD 这个位置的内容就是当前所在分支的内容 ======= ...
- vue scoped 深度作用选择器
如果你希望 scoped 样式中的一个选择器能够作用得“更深”,例如影响子组件,你可以使用 >>> 操作符: <style scoped> .a >>> ...
- ajax跨域问题及相关解决方案
1 什么是跨域 所谓的跨域是指浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器施加的安全限制. 所谓同源是指,域名,协议,端口均相同: 2 什么时候会存在跨域的问题 页面访问不同源 ...
- 自制操作系统Antz(6)——内核初步,引入c语言
Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html Linux内核源码分析地址:https://www.cnblogs. ...
- es安装elasticsearch-sql插件
根据现有ES版本,安装对应版本的插件 [es@hxl ~]$ cd elasticsearch[es@hxl elasticsearch]$ ./bin/elasticsearch-plugin in ...