springboot2.0入门(二)-- 基础项目构建+插件的使用
一、idea中新建第一个HelloWorld项目

点击next:

下一步

在这里可以选择我们需要依赖的第三方软件类库,包括spring-boot-web,mysql驱动,mybatis等。我们这里暂时先不添加任何依赖,我们后文手动添加maven依赖

项目构建完成之后删掉下面的这几个文件,这几个文件是maven版本控制相关的文件。我们结合IDEA管理maven,一般来说这几个文件用不到

将properties文件文件改为yml文件,这个文件和properties文件的功能是相同的,yml文件的结构更加清晰,需改默认的启动端口为8090
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
在xml文件中进入web-starter
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(String name) {
return "hello world, " +name;
}
}
新建一个HelloController,并创建一个接口:

点击debug运行

2.48秒启动成功

输入地址,后面接上参数,屏幕上显示后台返回的内容
二、lombok插件的引入和使用:
使用lombok有以下几个功能,更多功能可百度 :
- 根据成员变量生成get和set方法
- 根据成员变量生成类的构造函数
- 重写toString()和hashCode方法
- 引入日志框架logFactory,用来打印日志
Settings -->Plugins-->Marketplace

下载插件:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
下载好 插件后,还需要在pom.xml中引入相关依赖才可以继续使用:
新建一个Person 类,在测试新建Person的实例对象,在是指set的时候,自动提示出属性的set方法;

使用@Slf4j注解,可以在方法下直接使用log打印日志;

使用@Builder 注解可以进对象的构建,但是,继承的属性name是不能进行构建的,有全参构造函数注解,自然就有无参构造函数注解:NoArgsConstructor注解。
三、项目的热部署
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<!-- optional=true,依赖不会传递,该项目依赖devtools;之后依赖myboot项目的项目如果想要使用devtools,需要重新引入 -->
<optional>true</optional>
</dependency>
引入热部署的maven依赖:
<!-- 热部署插件-->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
在 plugin 中配置另外一个属性 fork,并且配置为 true。

打开自从 编译

组合键:“Shift+Ctrl+Alt+/” ,选择 “Registry” ,选中打勾 “compiler.automake.allow.when.app.running” 。

修改返回结果,刷新页面,看到结果已经改变;
3、GeoFormat:可以快速的将JSON转换为实体类,在插件中搜索下载后,在使用
/**
* id : 1
* author : zimug
* title : 手摸手教你开发spring boot
* content : c
* createTime :
* reader : [{"name":"zimug","age":18},{"name":"kobe","age":37}]
*/
//先定义一个空的实体类,快捷键Alt + S,相信后面你就都会了.这是根据JSON生成出来的对应的java bean的代码。
private int id;
private String author;
private String title;
private String content;
private String createTime;
private List<ReaderBean> reader; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getAuthor() {
return author;
} public void setAuthor(String author) {
this.author = author;
} public String getTitle() {
return title;
} public void setTitle(String title) {
this.title = title;
} public String getContent() {
return content;
} public void setContent(String content) {
this.content = content;
} public String getCreateTime() {
return createTime;
} public void setCreateTime(String createTime) {
this.createTime = createTime;
} public List<ReaderBean> getReader() {
return reader;
} public void setReader(List<ReaderBean> reader) {
this.reader = reader;
} public static class ReaderBean {
/**
* name : zimug
* age : 18
*/ private String name;
private int age; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
}
}
准备工作完成!!!
springboot2.0入门(二)-- 基础项目构建+插件的使用的更多相关文章
- (转)Maven学习总结(二)——Maven项目构建过程练习
孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项 ...
- 一、基础项目构建,引入web模块,完成一个简单的RESTful API
一.Spring Boot的主要优点: 为所有Spring开发者更快的入门 开箱即用,提供各种默认配置来简化项目配置 内嵌式容器简化Web项目 没有冗余代码生成和XML配置的要求 二.使用maven构 ...
- jenkins(二)项目构建
通过上一篇“jenkins(一)集成环境搭建示例”,已经完成了jenkins的安装,基本配置,启动,下面继续小结jenkins使用 一.jenkins系统配置 访问jenkins,点击系统管理-> ...
- Maven01——简介、安装配置、入门程序、项目构建和依赖管理
1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 Svn eclipse maven量级 1.2 Maven好处 同 ...
- 基础项目构建,引入web模块,完成一个简单的RESTful API 转载来自翟永超
简介 在您第一次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复粘贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot ...
- Springboot2.0入门介绍
Springboot目前已经得到了很广泛的应用,why这么牛逼? Springboot让你更容易上手,简单快捷的构建Spring的应用 Spring Boot让我们的Spring应用变的更轻量化.比如 ...
- 从SpringBoot到SpringCloudAlibaba简明教程(一):初识SpringBoot及其基础项目构建
前言 Spring框架的大名想必大家早已如雷贯耳,我们来看一下springboot诞生的初衷,以及它在springframe的基础上解决了哪些痛点. 很久以前,J2EE还是java企业级应用的标准规范 ...
- 二、VueJs 填坑日记之基础项目构建
在上一篇文章中,大致介绍了一下本系列博文以及学习vuejs我们需要了解的一些概念,希望大家认真阅读,所谓知己知彼,百战百胜,学习也一样,工欲善其事,必先利其器,要想学好vuejs,那前提的概念一定要熟 ...
- springboot2.0入门(五)--swagger2接口API构建
一.特点 代码变,文档变.只需要少量的注解,Swagger 就可以根据代码自动生成 API 文档,很好的保证了文档的时效性. 跨语言性,支持 40 多种语言. Swagger UI 呈现出来的是一份可 ...
随机推荐
- lua介绍及环境搭建(一)
一.介绍 1.简介 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. 其设计目的是为了嵌入应用程序中,从 ...
- spring cloud微服务docker启动
1. 背景 将系统拆分成微服务,一个系统可能拆分成十几个服务,服务太多会影响发布和管理,所以容器话之后易于管理和版本发布,鉴于此将spring cloud微服无docker容器化. 2.依赖环境 Ce ...
- ajax提交 的编码小结
今天用ajax的post方法提交数据给webservice,由于有email的缘故发现,注册方法调用总是报错,打开报文一看提交的 发现@符号被变成了%40 , abc@126.com 即abc%401 ...
- Python 解leetcode:2. Add Two Numbers
题目描述:输入两个非空单链表,链表的每个结点的值是一个1位数整数,两个链表都是一个大整数每一位的逆序排序,求这两个链表代表的整数的和的链表值: 思路: 分别遍历两个链表,转化成相应的整数,求和后把结果 ...
- Kubernetes---Pod phase
⒈Pod phase Pod的status字段是一个PodStatus对象,PodStatus中有一个 phase字段. Pod的相位(phase)是Pod 在其生命周期中的简单宏观概述.该阶段并不是 ...
- JDBCtemplete 模板
package com.augmentum.oes.common; import java.sql.Connection; import java.sql.PreparedStatement; imp ...
- 虚拟局域网VLAN的Packet tracer实验
ICMP的广播请求 Create PDU pc1发向交换机 交换机的其余端口向外发送该广播 ------------------------------------------------------ ...
- 考研路茫茫——空调教室HDU2242(Tarjan缩点)
题意:http://acm.hdu.edu.cn/showproblem.php?pid=2242 给你一个图,问你缩完点树上割边的做小绝对值差. 思路: 这题核算起来整整做了我一天(即24个小时)! ...
- # 滚动Hash
滚动Hash 假设字符串\(C=c_1*c_2*...c_m\),定义Hash函数\(H(C)=(C_1*b^{m-1}+C_2*b^{m-2}+...C_m*b^{0})mod\; h\) 从k开始 ...
- Selenium工具爬取商品
selenium是一个优秀的自动化测试工具,支持多种语言,具体介绍参考官方文档:https://www.seleniumhq.org/docs/. 下面我们使用selenium工具模拟用户点击商品详情 ...