2.SpringBoot快速上手

news/2024/7/4 16:38:35/文章来源:https://www.cnblogs.com/code-zhu12/p/18280517

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包了

alt text
alt text

项目结构

java 文件夹一般放Java代码
resources 文件夹放资源,和配置文件
static目录:一般放图片,css,js等关于网站的静态资源
templates: html的一些模板
pom.xml: Maven的核心文件,项目管理,依赖管理
application.properties: Spring boot 的核心配置文件
如果做的是前后端分离的项目resources目录下一般是不放东西的,一般用vue框架完成

alt text

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

//声明为控制器类
@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端口

alt text

开发环境热部署

  • 在实际的项目开发调试中会频繁修改后台类文件,导致需要重新编译,重新启动,过程麻烦影响开发效率
  • 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/736500.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RTMP协议

RTMP(Real-Time Messaging Protocol)是一个综合性的协议,不仅可以传输音视频数据,还可以传输信令控制指令。RTMP 使用 TCP 作为传输协议,可以直接在 TCP 连接上传输音视频数据,也可以传输控制指令,实现了音视频流的实时传输和控制。 与RTSP 不同,RTSP(Real-Time S…

yarn install 时显示 node_modules\esbuild: Command failed

可以找一找你的nodejs安装路径是不是中文的,如果是中文的换成英文应该就可以了(记得系统变量里也要改掉)

阿里云个人账号 创建docker仓库

1、创建阿里云账号 2、搜索“容器镜像服务”,进入,点击“管理控制台” 3、选择个人实例,这一步可能会让你创建registry密码(如果没有创建过的话),后面登录需要 4、创建命名空间5、创建镜像仓库 输入信息,点击下一步,选择本地仓库 6、进入管理页面 执行相关命令

Django3在网页上生成二维码

1.安装依赖包pip install django-qr-code2.在django,你项目的settings中,安装app 打开你项目的setting,找到INSTALLED_APPS ,在这里新加一条qr_code INSTALLED_APPS = [...,rest_framework,qr_code,... ] 3.在你打算渲染的html文档中,导入模板 {% load qr_code %}ps:如果…

Hackthebox bagel.dll 代码审计

利用ilspy将bagel.dll打开关于此目录有可以说的内容 目录解析 最上方的bagel是组装名字(assemble name) bagel_server 是命令空间(namespace) 下一级分支是类如File,Base,Handler,Orders等(class) 反序列化导致的命令执行漏洞代码审计思路 首先看主程序Bagel 1.通过明显的英…

2024/7/2 T1

题意:分析: 记 \(S_{i}\) 表示目前第 \(i\) 个集合里的元素个数。 集合之间互不区分,强制钦定必须满足 \(S_{i} \le S_{i+1}(i<k)\)。 经搜索发现,这样的状态数量最多约为 \(1.8 \times 10^5\)。 极差可以这样处理:将 \(a\) 排序,\(S_{i}\) 第一次加入某个元素 \(x\),…

Eplan插件 - 矩形修订云线

前言 在 CAD 中,矩形云线一直是设计师们用于标注修订区域或突出重要部分的得力工具。然而,在 Eplan 中,没有直接绘制矩形云线的功能。为了填补这一空白,开发了专门用于Eplan的矩形修订云线插件。 这款插件保留了Eplan绘制的习惯,可以简洁快速的框选出需要修订或者重点关注…

Nginx配置以及热升级

目录Nginx详解1. Nginx关键特性2. Nginx配置2.1 event2.2 http2.2.1 log_format2.2.2 sendfile2.2.3 tcp_nopush2.2.4 tcp_nodelay2.2.5 keepalive_timeout2.2.6 include2.2.7 default_type2.2.8 server3. 配置Nginx虚拟主机3.1 基于端口3.2 基于IP3.3 基于域名4. Location4.1 …

Python3学习之路~3.4 作业之对员工信息表实现增删改查操作

有以下员工信息表当然此表你在文件存储时可以这样表示1,Alex Li,22,13651054608,IT,2013-04-01 现需要对这个员工信息文件,实现增删改查操作可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 select * from staff_table where dep…

Python3学习之路~2.11 补充:Python输出字符串加颜色or背景色

格式:\033[二位数;1m字符串\033[0m 二位数为31-37,40-47(其他数字无效),其中:十位数3表示字颜色,4表示背景色个位数0-7分别表示 黑 红 绿 黄 蓝 紫 浅蓝 灰 示例代码:# 加颜色:31-37 print("\033[31;1mHello Python-31-红色字\033[0m") print("\033[32;…

【触想智能】工业平板电脑在新能源领域上的应用分析

工业平板电脑是一种具有高性能和稳定性的计算机设备,适用于在恶劣环境下进行数据采集、运营管理和现场操作。随着新能源技术的快速发展,工业平板电脑不断地得到应用,并且已成为新能源领域中的重要工具之一。本文将从四个方面探讨工业平板电脑在新能源领域中的应用。一、智能…

免费可视化工具在智慧物流中是如何被应用的?

在现代智慧物流中,免费可视化工具正扮演着越来越重要的角色。这些工具通过数据的可视化展示,使物流管理更加高效、透明和智能化。免费可视化工具可以将复杂的物流数据转换为直观的图表和图形,帮助管理者实时监控和分析物流运作情况,从而优化资源配置和提升物流效率。免费可…

一秒即懂财务报表勾稽关系

财务报表的勾稽关系!审计!审计试算平衡!算平衡表!项目经理!财务总监!会计!出纳6财务报表勾稽关系属于会计做账是否正确的要且快速的方法! 6财务人员对外提供报表是非常正常且频繁的情,股东要求,税局纳税申报,发行股票,发券,公司年度总结等等场合。 6而实际现状是,…

Redis Sentinal(哨兵模式详解)

参考文章 https://www.cnblogs.com/wzh2010/p/18030907 1、什么是哨兵模式 在实际生产环境中,服务器难免会遇到一些突发状况:服务器宕机,停电,硬件损坏等等,一旦发生,后果不堪设想。哨兵模式的核心还是主从模式的演变,只不过相对于主从模式,在主节点宕机导致不可写的情…

Profibus DP主站转Modbus网关连接智能化电表通讯

Profibus DP主站转Modbus网关(XD-MDPBM20),是实现不同工业通信协议之间互联互通的设备,主要将Profibus DP协议转换为Modbus协议,实现数据的双向传输。通过Profibus DP主站转Modbus网关(XD-MDPBM20),可以有效实现现场设备和控制系统之间的无缝连接,提高生产效率。Profi…

[XDCTF 2015]filemanager

[XDCTF 2015]filemanager ​/www.tar.gz​拿到源码 我直接在github上看了https://github.com/CTFTraining/xdctf_2015_filemanager common.inc.php将传入的所有参数使用addslashes转义函数 ​​ 然后分析upload.php 使用basename​函数确保文件名中没有目录路径,防止路径遍历攻…

解码未来城市:探秘数字孪生的奥秘

在科技日新月异的今天,"数字孪生"(Digital Twin)这一概念如同一颗璀璨的新星,照亮了智慧城市、智能制造等多个领域的前行之路。本文将深入浅出地解析数字孪生的定义、技术原理、应用场景及未来发展,带您一窥这股引领时代潮流的力量。数字孪生的定义数字孪生,简…

linux系统配置中文字体,playwright中文乱码

复制字段 从本地Windows (C:\Windows\Fonts ) 复制一个中文字体simsun.tcc 在Linux系统上安装字体 yum -y install fontconfig mkdir -p /usr/share/fonts/chinese cd /usr/share/fonts/chinese# 将simsun.tcc上传到/usr/share/fonts/chinese,并修改权限: chmod -R 755 /usr/…

transformer中的attention机制详解

transformer中用到的注意力机制包括self-attention(intra-attention)和传统的attention(cross-attention),本篇文章将在第一节简述这两者的差别,第二节详述self-attention机制,第三节介绍其实现 self-attention和attention的区别 传统attention机制 发生在decoder和enco…

Profibus转Modbus网关在智能化水处理系统优化改造的应用

Profibus协议和Modbus协议作为两种常见的工业通信协议,各自具有一定的优势和适用范围。而通过Profibus转Modbus网关(XD-MDPB100)的加入将两者结合使用,可以实现不同设备之间的无缝连接和数据传输,为罐内压载水处理系统的监控和控制提供了更为便利的解决方案。通过Profibus…