2.SpringBoot快速上手

SpringBoot介绍

javaEE的开发经常会涉及到3个框架Spring ,SpringMVC,MyBatis.但是这三个框架配置极其繁琐,有大量的xml文件,spring Boot对之前的配置进行极大的简化

  • Spring Boot 是由Pivotal团队提供的基于Spring的全新框架,简化Spring应用的初始搭建和开发过程
  • Spring Boot 是所有基于Spring开发项目的起点
  • Spring Boot就是进最大可能的简化应用开发的门槛,让应用的开发,测试,部署变得更加简单

Spring Boot特点

  • 遵循“约定优于配置”的原则,只需要很少的配置或使用默认的配置

    例如默认使用8080端口

  • 能够使用内嵌的Tomcat,jetty服务器,不需要部署war文件。

    因为tomcat上运行的应用必须是war格式,有了Spring Boot只需要打成jar包就行

  • 提供定制化的启动器Starters,简化Maven配置,开箱即用。
  • 纯java配置,没有代码生成,也不需要XML配置
  • 提供了生产级的服务监控方案,如安全监控,应用监控,健康监控

创建

内置tomcat 不用打成war包了



项目结构

java 文件夹一般放Java代码

resources 文件夹放资源,和配置文件

static目录:一般放图片,css,js等关于网站的静态资源

templates: html的一些模板

pom.xml: Maven的核心文件,项目管理,依赖管理

application.properties: Spring boot 的核心配置文件

如果做的是前后端分离的项目resources目录下一般是不放东西的,一般用vue框架完成

在控制器包下创建一个控制类

//声明为控制器类
@RestController
public class HelloController {
// 网址由协议(http://),域名(如www.baidu.com,localhost)
// 接口(:后面可以加接口,默认是80接口)
// 路径(/hello)组成,@GetMapping括号里面指定的是路径
// 由于Tomcat默认是8080端口所以要加上:8080
// http://localhost:8080/hello
@GetMapping("/hello")
public String hello(){
return "hello world";
}
}

可以看到确实是8080端口

开发环境热部署

  • 在实际的项目开发调试中会频繁修改后台类文件,导致需要重新编译,重新启动,过程麻烦影响开发效率
  • Spring boot提供了spring-boot-devtools组件,使得无需手动重启SpringBoot应用即可重新编译,启动项目,大大缩短编译启动的时间
  • devtools会监听classpath下的文件变动,触发Restart类加载器重新加载该类
  • 并不是所有的更改都需要重启应用(如静态资源,视图模板),可以通过设置spring.devtools.restart.exclude属性来指定一些文件或目录的修改不用重启目录
<!--开发环境热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
  1. 修改pom.xml配置文件

可以看到devtools框架已经加载

  1. 修改 application.properties文件夹
spring.application.name=demo
# 项目热部署
spring.devtools.restart.enabled=true
# 设置重启目录
spring.devtools.restart.additional-paths=src/main/java
# 设置classpath目录下的static文件夹修改不重启
spring.devtools.restart.exclude=static/**
  1. 修改设置

    第三条改到高级设置里了





  1. 最后可以修改默认端口,在properties文件下
# 可以改成80端口这样就不需要再指明8080端口了,因为80端口是浏览器默认值
server.port=80

2.SpringBoot快速上手的更多相关文章

  1. SpringBoot快速上手系列01:入门

    1.环境准备 1.1.Maven安装配置 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件. 下载Maven可执行文件 cd /usr/local ...

  2. 【快学SpringBoot】快速上手好用方便的Spring Cache缓存框架

    前言 缓存,在开发中是非常常用的.在高并发系统中,如果没有缓存,纯靠数据库来扛,那么数据库压力会非常大,搞不好还会出现宕机的情况.本篇文章,将会带大家学习Spring Cache缓存框架. 原创声明 ...

  3. SpringBoot+SpringDataJpa快速上手(基本CRUD)

    以及表结构和数据 依赖 <!-- 如果有SpringBoot启动器,就不加--> <parent> <groupId>org.springframework.boo ...

  4. 简明易懂,将细节隐藏,面向新手树立web开发概念——学完Java基础语法,超快速上手springboot+mybatiJavaWeb开发

    简明易懂,将细节隐藏,面向新手树立web开发概念 --学完Java基础语法,超快速上手JavaWeb开发 Web本质(先忽视各种协议) Web应用可以理解为浏览器和服务器之间的交互. 我们可以看一个简 ...

  5. 快速上手SpringBoot

    快速上手SpringBoot SpringBoot是用来简化Spring应用的初始化搭建以及开发过程 三个不需要,这是springboot使用mvc区别于其它框架的特点 tomcatd的端口 下一行是 ...

  6. SpringBoot快速开发REST服务最佳实践

    一.为什么选择SpringBoot Spring Boot是由Pivotal团队提供的全新框架,被很多业内资深人士认为是可能改变游戏规则的新项目.早期我们搭建一个SSH或者Spring Web应用,需 ...

  7. Spring Boot 揭秘与实战(一) 快速上手

    文章目录 1. 简介 1.1. 什么是Spring Boot 1.2. 为什么选择Spring Boot 2. 相关知识 2.1. Spring Boot的spring-boot-starter 2. ...

  8. 想要快速上手 Spring Boot?看这些教程就足够了!| 码云周刊第 81 期

    原文:https://blog.gitee.com/2018/08/19/weekly-81/ 想要快速上手 Spring Boot?看这些教程就足够了!| 码云周刊第 81 期 码云周刊 | 201 ...

  9. Gradle快速上手——从Maven到Gradle

    [本文写作于2018年7月5日] 本文适合于有一定Maven应用基础,想快速上手Gradle的读者. 背景 Maven.Gradle都是著名的依赖管理及自动构建工具.提到依赖管理与自动构建,其重要性在 ...

  10. SpringBoot学习(七)—— springboot快速整合Redis

    目录 Redis缓存 简介 引入redis缓存 代码实战 Redis缓存 @ 简介 redis是一个高性能的key-value数据库 优势 性能强,适合高度的读写操作(读的速度是110000次/s,写 ...

随机推荐

  1. 基于Node.js+MySQL开发的开源微信小程序商城(微信小程序)部署环境

    在网上搜到小程序设计的项目,下载前辈的代码到本地环境,接下来需要如何部署代码到本地,并能够看到完整的效果展示. 服务器端: https://github.com/tumobi/nideshop Nid ...

  2. Splashtop用于远程实验室的功能得到增强

    ​ 加利福尼亚州圣何塞,2020年8月11日,远程访问和远程支持解决方案的领导者Splashtop Inc. 宣布更新其 Splashtop for Remote Labs 产品.该产品旨在帮助学生通 ...

  3. 【PB案例学习笔记】-01创建应用、窗口与控件

    写在前面 这是PB案例学习笔记系列文章的第一篇,也是最基础的一篇.后续文章中[创建程序基本框架]部分操作都跟这篇文章一样, 将不再重复.该系列文章是针对具有一定PB基础的读者,通过一个个由浅入深的编程 ...

  4. 定了!航天科技AIRIOT 物联网平台新品发布会,6月6日北京见!

    AIRIOT新品发布会预告 航天科技定档6月6日举办AIRIOT新品发布会,诚邀大家共同见证4.0版本的创新与赋能! 活动地点:北京雍和航星科技园. 现场参会请通过下方长图二维码进行报名! 亦可预约直 ...

  5. Axure和墨刀——两款原型设计工具介绍

    Axure与墨刀是两款在原型设计领域广受欢迎的工具,各具特点和优势: Axure: Axure RP是一款功能强大的原型设计工具,广泛应用于交互设计和用户体验设计领域.它提供了丰富的交互元素库.高保真 ...

  6. Python读Excel数据自动化填入日常办公的网页表单

      前言 本篇内容,让你完全掌握Python是如何自动化办公的~ 一.环境准备 1.1  Python 3.7.0 1.2  Pycharm  (Python 开发工具) 1.3 Selenium  ...

  7. JVM Sandbox入门详解

    一. 概述 在日常开发中,经常会接触到面向AOP编程的思想,我们通常会使用Spring AOP来做统一的权限认证.异常捕获返回.日志记录等工作.之所以使用Spring AOP来实现上述功能,是因为这些 ...

  8. jsonp原理详解——终于弄明白了JSONP

    什么是JSONP? 其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,着用自己的方式来阐释一下这个问题,看看是否有帮助. 1.一个众所周知的问题, ...

  9. Pandas学习之路【3】

    新增列的一些操作 1.新增一个列,直接给列赋值 # 取所有行,新增的列为new_col df.loc[:, 'new_col'] = 100 2.使用df.apply方法给新增的列赋值 def get ...

  10. AIAGC导航(aiagc.com): 最全的AI工具导航网站

    AIAGC导航是一个专注于AI人工智能工具网站推荐的导航网站,可以帮助大家发现最新.最好用.最有趣的AI绘画.AI智能写作助手.AI聊天机器人.AI配音.AI音乐.AI换脸等各种AI工具应用软件,让A ...