2.SpringBoot快速上手
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>
- 修改pom.xml配置文件
可以看到devtools框架已经加载

- 修改 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/**
- 修改设置
第三条改到高级设置里了



- 最后可以修改默认端口,在properties文件下
# 可以改成80端口这样就不需要再指明8080端口了,因为80端口是浏览器默认值
server.port=80
2.SpringBoot快速上手的更多相关文章
- SpringBoot快速上手系列01:入门
1.环境准备 1.1.Maven安装配置 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件. 下载Maven可执行文件 cd /usr/local ...
- 【快学SpringBoot】快速上手好用方便的Spring Cache缓存框架
前言 缓存,在开发中是非常常用的.在高并发系统中,如果没有缓存,纯靠数据库来扛,那么数据库压力会非常大,搞不好还会出现宕机的情况.本篇文章,将会带大家学习Spring Cache缓存框架. 原创声明 ...
- SpringBoot+SpringDataJpa快速上手(基本CRUD)
以及表结构和数据 依赖 <!-- 如果有SpringBoot启动器,就不加--> <parent> <groupId>org.springframework.boo ...
- 简明易懂,将细节隐藏,面向新手树立web开发概念——学完Java基础语法,超快速上手springboot+mybatiJavaWeb开发
简明易懂,将细节隐藏,面向新手树立web开发概念 --学完Java基础语法,超快速上手JavaWeb开发 Web本质(先忽视各种协议) Web应用可以理解为浏览器和服务器之间的交互. 我们可以看一个简 ...
- 快速上手SpringBoot
快速上手SpringBoot SpringBoot是用来简化Spring应用的初始化搭建以及开发过程 三个不需要,这是springboot使用mvc区别于其它框架的特点 tomcatd的端口 下一行是 ...
- SpringBoot快速开发REST服务最佳实践
一.为什么选择SpringBoot Spring Boot是由Pivotal团队提供的全新框架,被很多业内资深人士认为是可能改变游戏规则的新项目.早期我们搭建一个SSH或者Spring Web应用,需 ...
- Spring Boot 揭秘与实战(一) 快速上手
文章目录 1. 简介 1.1. 什么是Spring Boot 1.2. 为什么选择Spring Boot 2. 相关知识 2.1. Spring Boot的spring-boot-starter 2. ...
- 想要快速上手 Spring Boot?看这些教程就足够了!| 码云周刊第 81 期
原文:https://blog.gitee.com/2018/08/19/weekly-81/ 想要快速上手 Spring Boot?看这些教程就足够了!| 码云周刊第 81 期 码云周刊 | 201 ...
- Gradle快速上手——从Maven到Gradle
[本文写作于2018年7月5日] 本文适合于有一定Maven应用基础,想快速上手Gradle的读者. 背景 Maven.Gradle都是著名的依赖管理及自动构建工具.提到依赖管理与自动构建,其重要性在 ...
- SpringBoot学习(七)—— springboot快速整合Redis
目录 Redis缓存 简介 引入redis缓存 代码实战 Redis缓存 @ 简介 redis是一个高性能的key-value数据库 优势 性能强,适合高度的读写操作(读的速度是110000次/s,写 ...
随机推荐
- Swift Charts 报错:Initializer ... requires that .. conform to ‘Identifiable‘
目录 1. 问题描述 2. 解决办法 1. 问题描述 在运行Swift Charts官方折线图示例时,出现了如下错误. Initializer 'init(_:content:)' requires ...
- 深度Linux deepin更新,防火墙操作
获取更新 sudo apt-get update 更新系统 sudo apt-get dist-upgrade -y 清理更新缓存 sudo apt-get autoclean 防火墙操作 sudo ...
- js数组方法之数组变异方法
push.pop.unshift.shift.sort.splice.reverse 以上这些方法都会改变原数组并且 这些方法的返回值是值得注意的有时候可以提高工作效率,比如pop方法的返回值是该元素 ...
- 腾讯、阿里、B站最新面经汇总,有的妥妥的凉经。
除了BAT(没错我说的B是B站的B),还有网易.希音科技.美柚等中小厂的最新面经. 这次投稿的同学行文幽默风趣,处处透漏着不成功便搞笑的骚气. 祝他早日上岸,也欢迎大家在评论区讨论这些面试题,有哪些面 ...
- kubeadm部署的k8s证书过期问题 k8s问题排查:the existing bootstrap client certificate in /etc/kubernetes/kubelet.conf is expired
解决问题: 估计跟移动有关,下面那个没解决问题,是因为在原有文件的基础上修改的吧?而这里直接是移走,重新生成了新的.不太清楚是不是这个原因. $ cd /etc/kubernetes/pki/ $ m ...
- redis三主三从集群快速搭建
redis集群快速搭建 1 本文以redis6.2.6版本为例,快速搭建一套三主三从的redis集群,已经提前将脚本写好,只需要在节点上面进行执行即可安装 #!/bin/bash install_re ...
- MQTT 实践总结
QMQX 文档:https://www.emqx.io/docs/zh/latest/ MQTT 入门:https://www.emqx.com/zh/mqtt-guide 通过案例理解 MQTT 主 ...
- Vue 组件生命周期:探索钩子
title: Vue 组件生命周期:探索钩子 date: 2024/5/27 18:42:38 updated: 2024/5/27 18:42:38 categories: 前端开发 tags: 生 ...
- Android 13 - Media框架(13)- OpenMax(一)
关注公众号免费阅读全文,进入音视频开发技术分享群! 这一节我们将了解Android OpenMax框架,该框架了解完成之后,我们会再回过头去了解 ACodec,将 MediaCodec - ACode ...
- Flutter(三):Flutter App 可行性分析
一.生态建设 第三方Package https://pub.dev/packages?sort=popularity 截止2021年4月,第三方库达到17000+ 二.Devops 代码风格检查 An ...