javaweb
Server后端开发:代码开发(java)–框架简化代码(Spring)–用包(库,包管理器:Maven)
总结就是三步:语言,框架,以及包
请求
- get请求:直接在url里请求,如weather?city=beijing
 - post请求:用请求体的方式进行请求
 
1  | "dish":宫保鸡丁  | 
拼接起来就是:Fronted—www—Server—Database
前端发送到后端的叫请求(Request),后端发给前端的叫响应(Response)。
web网站的工作流程
一个web网站大致由三个部分组成:前端服务器(前端程序),后端服务器(后端程序),数据库服务器
用户在浏览器输入域名,浏览器会根据域名请求访问前端服务器,前端服务器在接收到请求后会向浏览器返回前端代码,(浏览器也是一个程序,内置了解析前端代码的解析引擎),从而解析出对应的页面样式
需要学习的技术:Maven、SpringBoot Web、MySQL(got it)、SpringBoot Mybatis
初识web前端
- 网页的组成部分:文字、图片、音频、超链接、视频
 - 我们看到的网页背后的本质:前端代码
 - 前端代码如何转换成用户眼中的网页:浏览器转化(解析和渲染(浏览器内核))成用户看到的网页
 
Web标准:
- HTML(HyperText Markup Language):负责网页的结构(页面元素和内容)
 - CSS:负责网页的表现(页面元素的外观,位置等页面样式,如颜色,大小)
 - JavaScript:负责网页的行为(交互效果)
常用标签 - vscode装了插件之后直接!
 - hr:水平线,一般有两个
 - h1-h6:六级标题对应不同大小
 - img:插入图片,可以绝对路径或者相对路径,一般用相对路径。还可以设置宽高,但一般只设置一个,会等比例缩放
 - title:网页名字
2025.4.27 
Maven
Maven 是一个项目管理和构建工具,主要用于管理 Java 项目的依赖库,以及自动化项目的编译、打包、测试、部署等过程。
简单理解就是:
- 你在开发 JavaWeb 项目的时候,需要很多第三方库(比如数据库连接池、日志框架等等)。
 - Maven 帮你自动下载、管理版本,不用你手动找 jar 包。
 - 它还能一键构建项目,比如一条命令就能打成 war 包部署到服务器上。
成功配置maven
2025.4.28 
SpringBoot
- SpringBoot快速入门
- 创建SpringBoot工程,勾选web开发
 - 编写请求处理类(加上注解)
 - 看本地占用端口,打开浏览器访问端口
要写注解 
 - @RequestController告诉SpringBoot直接返回内容到页面
 - @RequestMapping是访问路径
简单url是 http://localhost:8080/array?hobby=sing&hobby=jump&hobby=rap&hobby=basketball 
MyBatis
MySQL账号密码:root 1234
MyBatis用来简化JDBC开发的框架,用来操作数据库。
包是组织类的,模块是组织包的。
正式开始
- 准备数据库表(dept\emp)
 - 创建SpringBoot工程,引入对应的依赖:web、mybatis、mysql驱动、lombok
 - 配置文件:引入mybatis的配置信息,准备对应的实体类
 - 准备对应的Mapper、Service(接口、实现类)、Controller基础结构
 
路径参数
- 比如要写一个url:dept/1,dept/2,后面的id是变动的,我们就需要RequestVariable注解来获取这个id,多参数也一样
 - 以下这个代码程序就是获取url里的变量,前一步要使用RequestMapping来绑定路径参数@
 
1  | 
  | 
三层架构
- controller:控制层,接收前端发来的请求,对请求进行处理,并响应数据
 - service:业务逻辑层,处理具体的业务逻辑
 - dao:数据访问层(data access object,持久层),负责数据的访问操作,包括数据的增删改查
 
控制反转(IOC)与依赖注入(DI)
- 这两个的功能是为了更好的解耦三层架构,使用控制反转IOC(在类外加上
@Component注解),可以把这个类交给IOC来管理,成为IOC的bean对象。等到别的层需要调用的时候,使用@Autowired进行依赖注入,这样就解耦了。 - 声明bean有四个注解:@Component,@Controller(管控制层),@Service(管业务层),@Repository(管数据访问层,这个用的少,会用@Mapper替换)
 - 依赖注入的是接口,interface,我们想要让接口的某一个实现类,就写好实现类;如果有多个实现类,参考下面一条。
 - 依赖注入时如果有多个同类型的bean,可以通过@Primary(提高优先级),@Autowired+@Qulifier(“bean的名称”),@Resource(name=”bean的名称”)
 
面试问道是否了解IoC以及DI
- IOC 也就是控制反转,核心思想是把对象的创建和管理交给 Spring 容器,而不是我们自己去 new。这样可以降低代码耦合。Spring 会扫描带有 @Component、@Service、@Controller、@Repository 的类,把它们注册成 bean,统一交给 IOC 容器管理。
 - DI 是依赖注入,也就是当某个类需要依赖其他对象时,Spring 会自动把对应的 bean 注入进来,我们只需要在属性或构造方法上加 @Autowired 就可以了。
 - 如果一个接口有多个实现类,Spring 无法确定要注入哪个,这时候可以用 @Qualifier(“beanName”) 或 @Resource(name=”beanName”) 来指定,也可以在某个实现类上加 @Primary,让它成为默认注入的对象。
 
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Explainfuture's Blog!

