JAVAEE-SpringBoot

Maven

Maven是⼀个项⽬管理⼯具,通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包,它简单,⽅便,提⾼我们的开发效率,减少我们的开发Bug

创建Maven项目

点击 Create,就创建好了⼀个Maven项⽬

Maven的核心功能

Maven提供了标准的,跨平台(Linux, Windows, MacOS等)的⾃动化项⽬构建⽅式,当我们开发了⼀个项⽬之后, 代码需要经过编译, 测试, 打包, 发布等流程, 每次代码的修改, 都需要经过

这些流程, 如果代码反复调试修改, 这个流程就需要反复进⾏, 就显得特别⿇烦, ⽽Maven 给我们提供了⼀套简单的命令来完成项⽬的构建.

依赖管理

上⾯说到,Maven是⼀个项⽬管理⼯具,通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包获取的jar包,其实就是依赖

html 复制代码
<dependencies>
    <!--⾥⾯放置项⽬的依赖坐标, 可为多个 -->
</dependencies>

添加后刷新即可,且支持依赖传递。即我们引入a,a生效的前提是引入b。Maven会帮我们把b也引入。

Maven 仓库

我们通过几行简单的代码就可以引入jar包,这是为什么呢?这就是Maven仓库,来管理jar包。Maven仓库分为两⼤类:本地仓库和远程仓库.其中远程仓库⼜分为中央仓库,私服和其他公共库

本地仓库在自己计算机中,会先查找本地仓库,没有才会访问中央仓库。

中央仓库:maven软件中内置⼀个远程仓库地址,就是中央仓库,服务于整个互联⽹.由Maven团队维护,全球唯⼀

加入私服,例如一些公司内的资源不能公开但员工要使用,就可以用到私服

第⼀个SpringBoot程序

使用idea创建即可

①SpringBoot版本,选择任意2.X的,这个版本会随着SpringBoot的升级⽽发⽣变化,不固定

3.X版本使⽤的是jdk17

②打勾表⽰创建项⽬之初,就引⼊的第三⽅依赖(框架,插件,组件等)

③所有引⽤的第三⽅框架

Spring Boot项⽬有两个主要的⽬录:

src/main/java:Java源代码

src/main/resources:为静态资源或配置⽂件

/static:静态资源⽂件夹,⽐如前期学的js,css,html等静态⽂件,不需要服务器数据进⾏绑定的

⻚⾯

/templates:模版资源⽂件夹,主要存放动态模板⽂件,⽐如JSP,Freemarker,Thymeleaf等需

要服务器动态渲染数据的⽂件

src/test/java:测试代码源代码

target:编译后的⽂件路径

pom.xml:maven配置⽂件

输出hello,Spring

java 复制代码
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
    public class UserController {
        @RequestMapping("/sayHi")
        public String sayHi(){
            return "hello,Spring";
        }
}

Web服务器

浏览器和服务器两端进⾏数据交互,使⽤的就是HTTP协议,常⻅的Web服务器有:Apache,Nginx,IIS,Tomcat,Jboss等,SpringBoot内置了Tomcat服务器,⽆需配置即可直接运⾏。Tocmat默认端⼝号是8080,所以我们程序访问时的端⼝号也是8080

请求响应流程

访问出错

200:成功

4xx:客户端问题

5xx:服务端问题

相关推荐
yugi9878381 分钟前
C# 串口下载烧写BIN文件工具
开发语言·c#
开心码农1号28 分钟前
Java rabbitMQ如何发送、消费消息、全套可靠方案
java·rabbitmq·java-rabbitmq
EAIReport30 分钟前
国外网站数据批量采集技术实现路径
开发语言·python
超绝振刀怪31 分钟前
【C++可变模板参数】
开发语言·c++·可变模板参数
蜡台37 分钟前
JetBrains IDEA 安装 卸载相关总结
java·ide·intellij-idea·注册码
WJLSH12337 分钟前
TomCat
java·tomcat
Freak嵌入式42 分钟前
MicroPython LVGL基础知识和概念:时序与动态效果
开发语言·python·github·php·gui·lvgl·micropython
戮戮1 小时前
Spring Cloud Gateway 零拷贝参数校验:一种高性能网关架构实践
java·网络·架构·gateway
2501_933329551 小时前
企业媒体发布与舆情管理实战:Infoseek舆情系统技术架构与落地解析
大数据·开发语言·人工智能·数据库开发