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:服务端问题

相关推荐
karry_k6 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k7 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
SamDeepThinking10 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
她的男孩13 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
荣码15 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
plainGeekDev16 小时前
Gson → kotlinx.serialization
android·java·kotlin
小bo波1 天前
Java Swing 图形用户界面实验 —— 从算术练习到游戏开发的完整实践
java·课程设计·gui·游戏开发·扫雷·swing
咖啡八杯1 天前
GoF设计模式——备忘录模式
java·后端·spring·设计模式