javaweb
(一)、Maven
用于管理和构建java项目的工具
1.1 Maven的作用
统一的项目结构:
项目构建流程:清理 - 编译 - 测试 - 打包 - 发布
简介:
仓库:用来存储资源,管理各种jar包
1.2 Maven下载
安装流程:
配置环境:
修改版本为jdk11
1.3 创建Maven项目:
Maven坐标:
1.4 导入项目
方法1:
方法2:
1.5 依赖管理
依赖配置:
依赖传递:
排除依赖:可以排除不需要的依赖
依赖范围:
scope的取值:
生命周期:3套
阶段是有顺序的,后面的阶段依赖于前面的阶段
在同一套生命周期阶段,运行后面的阶段前面也会运行
clean:
default:
site:
常见阶段:
执行方式:
1.在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行
2.在命令行中,通过命令执行
(二)、SpringBootWeb入门
创建springboot工程:
2.1 http协议
特点:
2.2 请求协议
请求格式:请求行,请求头,请求体
2.3 相应协议
响应格式:响应行,响应头,响应体
2.4 协议解析
按照协议的格式,输出或接收数据
(三)、Tomcat
JavaEE是Java的企业版
基本使用:官网下载,解压后的目录
卸载、启动、关闭:
默认的端口:localhost:8080
常见问题:
配置端口号:修改conf/server.xml
注:http协议默认端口号为80,如果将Tomcat端口号改为80,则将来访问Tomcat时,不用输端口号
部署项目:将项目放在webapps下即可部署完成
3.1 入门程序解析
起步依赖:
springboot有内嵌Tomcat
(四)、请求
postman工具:
简单参数:
注:
实体参数:
4.1 数组集合参数
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
System.out.println("Hello world");
return "Hello world";
}
}
4.2 日期时间参数
@RequestMapping("/dateParam")
public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")LocalDateTime updateTime){
System.out.println(updateTime);
return "OK";
}
要定义接收的日期格式
4.3 json格式参数
传递json格式数据是在请求体中
服务端接收:
@RequestMapping("/jsonParam")
public String jsonParam(@RequestBody User user){
System.out.println(user);
return "OK";
}
通过实体对象接收
4.4 路径参数
直接用url传递参数:传递多个的话直接/分割
@RequestMapping("/path/{id}")
public String jsonParam(@PathVariable Integer id){
System.out.println(id);
return "OK";
}
接收多个参数可以直接定义其他的变量(格式一样)
(五)、响应
@ResponseBody:用来给客户端返回数据
统一的响应结果:返回一个对象
(六)、分层解耦
6.1 三层架构
容易维护,复用性强,利于拓展
6.2 分层解耦
使用IOC和DI解除耦合
(七)、IOC和DI
步骤:
7.1 IOC详解
Bean的声明
注:
Bean的组件扫描:
7.2 DI详解
Bean注解:
解决方案:
primary 加在哪,就是让哪个注解生效
qualifier() 按照类型注入
resource () 按照名称注入
(八)、Mybatis
是一款持久层的框架,用于简化JDBC的开发
8.1 配置SQL提示
选中SQL语句然后配置
在idea中通过database进行数据库的连接
8.2 JDBC
使用Java语言操作关系型数据库的一套api
本质:
8.3 数据库连接池
可以提升系统响应速度,资源重用,避免数据库连接遗漏
标准接口:
常见产品:druid,hikari
8.4 lombok
解决类臃肿问题
8.5 预编译SQL
性能更高 ,更安全
执行原理
SQL注入:
参数占位符:
8.6 XML映射文件
一般是一个接口对应一个映射文件
8.7 动态SQL
if标签:
where标签:
foreach标签:循环遍历
标签中的属性
sql和include:
(九)、PageHelper
分页插件