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,写 ...
随机推荐
- 【python爬虫案例】用python爬豆瓣读书TOP250排行榜!
目录 一.爬虫对象-豆瓣读书TOP250 二.python爬虫代码讲解 三.讲解视频 四.完整源码 一.爬虫对象-豆瓣读书TOP250 今天我们分享一期python爬虫案例讲解.爬取对象是,豆瓣读书T ...
- 鸿蒙HarmonyOS实战-ArkUI事件(焦点事件)
前言 焦点事件是指程序中的重要事件或关键点.焦点事件通常是程序的核心逻辑和功能,需要引起特殊的关注和处理. 在图形用户界面(GUI)编程中,焦点事件通常与用户交互和界面输入相关.例如,当用户点击按钮. ...
- 如何在Ubuntu 16.04上安装和保护MongoDB
第1步 - 添加MongoDB存储库 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14 ...
- Kingbase+sqlsugar 携手助力医疗国产化替换 【人大金仓 .NET ORM】
1. 案例 西京医院CT预约系统, 该项目在2024年初进行上线测试,在正常运行了两天后,业务系统报错:The connection pool has been exhausted, either r ...
- uni.request二次封装
点击查看代码 const baseUrl = 'https://your-api-base-url.com'; function getAuthToken() { // 获取token的逻辑,可能会从 ...
- .NET 代理模式(二) 动态代理-DispatchProxy
前言 我们都知道,在.NET中实现动态代理AOP有多种方案,也有很多框架支持,但大多框架的实现原理都是通过Emit配合Activator一起使用,从IL级别上实现动态代理. 其实在.NET中有一个更为 ...
- Swoole 源码分析之 TCP Server 模块
首发原文链接:https://mp.weixin.qq.com/s/KxgxseLEz84wxUPjzSUd3w 大家好,我是码农先森. 今天我们来分析 TCP Server 模块 的实现原理,下面这 ...
- 阿里巴巴 MySQL 数据库之索引规约 (二)
索引规约 强制部分 [强制] 业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引. 说明:不要以为唯一索引影响了 insert 速度,这个速度损耗可以忽略,但提高查找速度是明显的:另外 ...
- MLP实现minist数据集分类任务
1. 数据集 minist手写体数字数据集 2. 代码 ''' Description: Author: zhangyh Date: 2024-05-04 15:21:49 LastEditTime: ...
- Django 的 ORM
Django 的 ORM: 注意: 需要提前创建好数据库,Django不会自动创建数据库