01SB介绍、构建方式、配置文件、构建web、热部署、模板引擎

本文介绍了SpringBoot如何通过简化配置、整合框架、自动部署和微服务支持,加速现代项目开发。它提供了开箱即用的特性,如内嵌Tomcat和统一配置管理,适用于前后端分离和快速部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot主要解决的是在无服务的架构下简化配置(快速配置)、前后端分离、快速开发
提供了快速启动入门
开箱即用、提供默认配置
内嵌容强化web项目
没有冗余代码生成和xml配置要求
像之前搭建一个spring的项目,需要将各种jar包导入。
有了maven之后
maven解决的是依赖的问题
解决依赖冲突的问题:
start.spring.io构建项目的脚手架(空项目)生成工具。开箱即用
在这里插入图片描述

使用start构建项目脚手架导入springweb,会在项目中内置tomcat、spring、springMVC等和对应的默认配置文件
SpringBoot实现了框架之间的整合,提供框架的默认配置,提供了它们的启动器,以及相关依赖的引入,等等等等一切工作一个springboot搞定
如果想要修改其中一个框架的配置,提供了一个统一的配置文件application.properties,来配置个性化内容、覆盖默认配置。
在pom配置文件中:spring-boot-starter-web
在传统的spring 项目需要手动导入springMVC的包手动下载tomcat,还需要spring核心的一些包

java:主文件业务逻辑
resources:资源文件
web项目比传统项目多了static、templates文件夹和application.properties配置文件
static:存放静态文件、templates:存放静态模板,模板引擎

启动过程的升级

在这里插入图片描述

简化配置方便运维,由于项目只依赖JDK,项目的启动就很随意了。
批量开关服务
适合做微服务

运行jar包:命令行窗口cd到项目文件夹 java -jar jar包名称

jar包和war包区别

tomcat是javaee的一个应用程序

jdk是向下兼容的


从start.spring.io构建项目的脚手架(空项目)生成工具。
STS可以创建带有启动器的spring项目
File-New-SpringStarterProject
service URL:https://start.spring.io
国内镜像:https://start.aliyun.com
创建一个简单的maven项目可以通过在配置文件中右键点击spring-EditStarters引入依赖
--------------------------------------------------------------------------------在这里插入图片描述

这种启动方式springboot会帮我们自动定位程序的程序的主入口


配置文件
修改端口号
server.port=8080
修改项目根路径
server.servlet.context-path=/boot


构建web应用
三层结构
controller、service、entity(domain、pojo)、dao(repostory)
在这里插入图片描述

程序的主入口
在controller里new一个class需要加上注解
@Component表示这里是一个组件纳入spring的管理
@Controller就是@Component
需要spring来管理controller

在这里插入图片描述

还有一个@RestController,是@controller和@ResponseBody
@ResponseBody注解不会被渲染 只把数据通过普通文本的格式输出到最前端不经过前端模板等等的渲染在这里插入图片描述

除了@Controller还要给controller一个访问路径@RequestMapping("/user")()
添加@Controller注解只是说这个类是一个controller(加入到spring容器的管理,单例的)
想要访问这个controller还需要为其提供一个uri
然后通过这个uri来访问controller 中的某一个方法
所以方法上也要添加说明uri的注解,做资源定位

Controller中写一个普通的方法,方法的返回值是一个String类型的返回值,
spring会拦截这个返回值到resources下的templates中找到具体的“list”文件默认后缀是.html
方法上添加@RequestMapping("/list")注解作为访问该方法的具体的资源路径

(方法中的@ReqeustMapping会继承Controller上的@RequestMapping
如果Controller不加@RequestMapping路径会是
http://主机名:端口号/context/方法的uri)

这样访问http://主机名:端口号/context-path/controller的URI/方法的URI

在这里插入图片描述


两种常见的热部署
Spring自带的Add DevTools(重启项目实现热部署)
jrebel(热部署需要破解)


从后台动态的数据放在html页面中做动态的渲染

在这里插入图片描述

在Controller中由ModelMap 负责后端向前端以map形式传值
由模板引擎thymeleaf负责前后端关联.ModelMap与Model类似,比Model多了一些对Map处理的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stilch

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值