JavaWeb(基于SpringBoot开发)全总结(1)
1.使用maven
我们在写Javaweb时候,maven在其中起到了十分关键的作用
1.maven给我们Java项目提供了一个pom.xml文件,当我们需要导入一些jar包时候,我们只需要在xml文件中写入相关的依赖,然后idea就会自动为我们联网下载
2.由于使用不同开发工具开发出来的略有不同,导致不能够互通,所以国际规定,使用maven创建的项目为统一标准结构,也就是下图所示的结构
3.可以跨平台构建,如Linux,MacOS,Windows
2.HTTP协议
这个前面有做笔记
3.学会使用tomcat
是一个web服务器,我们可以先利用它来检验我们写的代码是否正确,再到网页中运行
4.请求响应
这个十分的重要,我们学会请求和响应
请求相对于更加繁琐,不过只要去记忆那些什么时候用什么注解即可
例如:传入的是路径参数,json格式的参数等等,根据不同的参数我们使用不同的注解
以下代码基本包括了所有的请求
@RequestMapping("/simpleParam")//下面一行这里不算是起别名,算是换名了,把UserName换成了name
public String simpleParam(@RequestParam(name="name")String UserName, Integer age){
System.out.println(UserName+":"+age);
return "ok";
}
@RequestMapping("/simplePojo")
public String simplePojo(User user){
System.out.println(user);
return "ok";
}
@RequestMapping("/arrayParam")
public String arrayParam(String [] hobby){
System.out.println(Arrays.toString(hobby));
return "ok";
}
@RequestMapping("/listParam")
public String listParam(@RequestParam List<String> hobby){
System.out.println(hobby);
return "ok";
}
@RequestMapping("/dateParam")
public String dataParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")LocalDateTime updateTime){
System.out.println(updateTime);
return "ok";
}
@RequestMapping("/jsonParam")
public String jsonParam(@RequestBody User user){
System.out.println(user);
return "ok";
}
@RequestMapping("/path/{id}/{name}")
public String pathParam(@PathVariable Integer id,@PathVariable String name){
System.out.println(id+": "+name);
return "ok";
}
响应就相对简单了
我们一般使用的响应都是有固定的代码的,如下
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result {
private Integer code;//响应码,1 代表成功; 0 代表失败
private String msg; //响应信息 描述字符串
private Object data; //返回的数据
//增删改 成功响应
public static Result success(){
return new Result(1,"success",null);
}
//查询 成功响应
public static Result success(Object data){
return new Result(1,"success",data);
}
//失败响应
public static Result error(String msg){
return new Result(0,msg,null);
}
}
5.分层解耦,三层架构
之前笔记有写到,之后还会出一个更加具体的笔记,去了解其中三层架构之间的关系
以及IOC容器
6.学习MySQL
这个在项目中起到十分重要的作用,它一般写在mapper数据层处
我们要学会使用动态sql
简单的sql语句我们可以直接使用idea中的注解进行开发
那复杂的我们就要写到对应的映射文件里面去了
映射文件有规定的结构格式,我们需要到官网进行复制,搜索mybatis中文网,下滑找到映射的sql格式
下面基础格式都有了,改掉一些内容就行了
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>
7.mybatis
是一款很好的持久层(就是我们常说的数据层,dao层)的框架,简化了JDBC的开发
主要就是与数据库这方面进行打交道
还有我们写的案例里面的mapper层写的sql语句的新增,删除,等等操作,都是基于mybatis来实现的
记住每次创建后一定要记住改那个mybatis的设置,不然之后的导入依赖都会很慢
8.学会连接数据库
就是先到DG那里建立好我们要导入的数据库
然后就是对数据库进行设置
然后进入到下面这个界面
设置好user,password,url
最关键的是设置Database,这里直接填我们之前要导入已经创建好的数据库,然后点击Apply
再到spring boot中去设置,当我们遇到报错不要紧,我们直接再复制我们在DG上面写的sql语句,到idea那个数据库那里再运行一次,
点加号
点确定
大概率也会报错,不过不要紧
如果之后还没配好就直接复制爆红的英文去csdn上直接搜索
9.项目实战
学会前后端联调
运行项目之前要启动前端项目,如打开下面那个绿色的
学会阅读接口文档
我们必须学会阅读这个来写我们的项目代码,这个是让前后端联调起来的关键
学会在文件上传(使用阿里云OSS)
例如给项目导入图片文件
学会使用yml格式来配置文件
目前主流的配置文件格式,让人看起来清晰明了
学会登陆认证和登陆校验
主要是登陆校验
我们要学会主流的JWT令牌技术
学会使用拦截器拦截一切请求(若他人没登陆就会自动跳转到登入页面),避免他人不登录直接复制网址进入
学会使用事务
跟sql学的事务差不多