java学习笔记——《我的Java打怪日记》

简介: 主要写了相关的框架以及数据传输的格式和问题

一、概念

1.Spring:是一个开源的轻量级的java开发框架。

2.SpringBoot:时用来简化Spring应用的初始搭建以及开发过程。

3.SpringMVC:Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。

4.mybatis:Mybatis是一个优秀的持久层框架,它对JDBC操作数据库的过程进行封装,使开发者只需要关注sql本身。

二、框架的作用

1.SpringMVC作用:接收用户提交的数据,返回服务器的数据。(交互)

2.Spring作用:整合其他的第三方框架,可以让程序调用以一种统一的方式进行调用(整合)

3.Mybatis作用整合JDBC方便用户与数据库进行交互(持久化)

4.SpringBoot作用简化Spring等框架的操作(简化)。理解:SpringBoot就是一个框架的高级API

三、框架之间的关系

image.jpeg

四、相关配置文件

1.pom.xml

(1)parent标签说明:是spring官网负责维护,在其中定义了几乎所有的框架与springboot兼容的版本信息。作用是为了集中定义版本号。

(2)dependencies标签:依赖:项目中需要添加什么功能,则依赖什么jar包。

(3)build标签:插件。

2.properties

(1)properties的语法是key-value结构,基本写法:key=value 不要写多余的空格。

(2)properties本身就是字符串的数据类型,所以无需添加引号。

(3)IDEA的设定是UTF-8,是IDEA读取的字符集的编码,但是properties在通过IO读取的时候,默认编码是ISO-8859-1.所以中文必定乱码,需要设定字符集。

2.YML

(1)数据结构 key-value结构,写法: key:(空格)value

(2)yml文件有层级结构,注意父子级的语法的缩进

(3)yml文件程序默认读取时采用UTF-8编码

五、高级用法

1.热部署说明

作用:添加依赖之后,代码修改不需要手动重启服务器,只需等待一会儿,就会自动更新。

2.lombok

作用:简化用户创建实体对象的过程,由插件自动完成实体对象中常用方法的构建(get、set、toString、构造等)

注解:1.@Data:以便为属性赋值get、set方法。@Accessors(chain=true)链式加载,set方法返回本对象来实现链式加载。

注意:在linux系统中运行项目,是否需要体检安装插件?不要,因为lombok在编译期有效,由xxx.java文件编译为xxx.class文件时,已经动态添加了set、get方法。所以在项目发布的时候(xxx.class文件组成的xxx.jar),lombok已经完成任务,所以不需要安装lombok环境。

六、springboot加载器顺序

1.当用户点击main方法时启动程序

2.SpringBoot程序开始加载主启动类上边的注解@SpringBootApplication(SpringBoot内部运行机制开始执行)

3.当SpringBoot程序开始执行,则会动态的获取当前主启动类的包路径。

4.通过包扫描的机制,将特定的注解标识的类(Controller、Service、Dao)。交给Spring容器管理。

5.Spring容器维护的是一个Map集合:key:类名首字母小写,value:实例化对象:

6.当对象创建时(实例化),遇到@Autowired 则需要依赖注入对象,当整个Spring容器内部都没有该对象时,则会报错,注入失败,如果Map中维护了需要注入的对象则@Autowired 注入成功,则最终对象实例化正常

7.当上述的操作都运行成功之后,则Spring容器启动成功,等待用户调用。

七、SpringBoot整合Mybatis核心

1.导包和编辑yml文件

2.为接口创建代理对象 注解:@Mapper 因为接口不能实例化对象,所以Spring就为接口创建了一个代理对象。

3.@MapperScan:SpringBoot为了简化代码,提供了包扫描机制,为包路径下的接口创建代理对象,之后交给Spring容器管理可以在任意位置依赖注入

4.mybatis实现数据查询时由2中写法:

1.将所有的sql语句都写在xml映射文件里。

2.可以将sql语句通过注解的方式标识在接口方法中

八、MybatisPlus

1.概念:Mybatis-Plus,简称MP,是一个Mybatis的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发,提高效率而生。使用MP主要完成单表的CURD操作简化开发。

2.注解:@TableName("demo_user") 实现对象和数据库表明的映射

@TableId(type = IdType.AUTO) 设置主键自增

@TableFIeld("name") 实现属性与字段的映射

规则:如果属性与字段的名字一致,则注解可以shenglve

3.在Mapper层的类中,继承接口BeanMapper,别忘了添加泛型对象,否则程序无法执行。

4.MybatisPlus中最重要的就是QueryWrapper类的方法,这个类封装了一些数据库的常见关键字和操作,然后将对象传递给相应的增删改查,就可以执行sql语句。

九、JSON格式

JSON(javaScript Object Notation)时一种轻量级的数据交换格式。采用完全独立于程序语言的文本格式。

1.对象格式:{"id":1,"name":"钢铁侠","age":200,"sex":"男"}

2.数组格式:["张三","李四","王五"]

3.嵌套格式:[{"id":1,"name":"钢铁侠","age":200,"sex":"男"},{"id":2,"name":"蜘蛛侠","age":50,"sex":"男"}]

十、Ajax

1.特点:局部刷新,异步访问

2.说明:Ajax是实现前后端交互,最为常用的一种方式

3.Ajax异步调用的原理:

同步:用户发起请求时,要求第一时间服务器做出相应,在此期间用户不可以做其他操作,只能等待服务器返回数据,刷新一次。

异步:用户发起请求时,要求服务器做出响应,在此期间用户可以做其他的操作,如果后端服务器返回数据则通过回调函数通知客户,局部刷新多次。

image.jpeg

4.常见的请求类型

(1)GET

(2)POST

(3)PUT

(4)DELETE

5.关于Ajax总结:

Ajax是局部刷星,异步访问

Ajax异步的和兴在于Ajax引擎(代理)

AJax请求调用时无论是否成功,都通过回调函数的方式进行。sucess、error

Ajax参数传递的写法:对象写法,字符串拼接

for循环方式1.常规方式2.in3.of

6.跨域请求实现

需要添加@CrossOrigin的注解

十一、JS变量的基本用法

1.var关键字:var id;标识定义一个变量名称为id。该变量相当于在全局范围内声明了一个变量。该变量声明没有作用域的概念。弊端:由于没有作用域,导致变量使用混乱。

2.let关键字:从新版本呢的JS开始,兼容支持let,该关键字的用法与var一样,但是有作用域的范围,更加通用。

3.const关键字:该关键字用来标识常量,该数据不变。

十二、跨域说明

1.同源策略

规定:浏览器的网址与Ajax请求网址必须满足同源策略,浏览器才能解析Ajax,执行正确的请求。

2.规定要求:请求协议://域名:端口号

如果三者都满足,则符合同源策略。浏览器可以正确解析。反之,不满足同源策略,称为跨域请求,则浏览器不能正常解析ajax请求。

练习:

浏览器地址: http://localhost:8090/userList.html

Ajax请求地址: http://localhost:8090/abc/b 满足同源策略

浏览器地址: http://localhost:80/userList.html

Ajax请求地址: http://localhost:8090/abc/b 端口不同 跨域请求

浏览器地址: http://localhost:8090/userList.html

Ajax请求地址: https://localhost:8090/abc/b 协议不同,跨域请求

manage.jt.com 对应的IP假设为10.6.6.8

浏览器地址: http://manage.jt.com/userList.html

Ajax请求地址: http://10.6.6.8/abc/b 跨域请求 域名不同(即使映射也是跨域)

浏览器地址: http://manage.jt.com:/userList.html http协议默认端口80

Ajax请求地址: http://manage.jt.com:80/aaa/bbb 同域请求

3.CORS介绍:

CORS时一个W3C标准,全称是跨域资源共享。

相关文章
|
1月前
|
Java 编译器 开发工具
Java基础学习笔记——idea篇
JDK由JRE(包含JVM和核心类库)和开发工具箱(如javac编译器和java运行工具)组成。Java项目结构包括Project、Module、Package和Class。IDEA快捷键包括:生成main方法(main psvm)、复制代码(Ctrl+D)、删除代码(Ctrl+Y/X)、格式化代码(Ctrl+Alt+L)、重命名(Shift+F6)等。
17 0
|
3月前
|
监控 负载均衡 Dubbo
|
4月前
|
前端开发 Java 数据安全/隐私保护
Java学习—GUI编程学习笔记
Java学习—GUI编程学习笔记
|
7月前
|
设计模式 存储 Java
【设计模式——学习笔记】23种设计模式——备忘录模式Memento(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——备忘录模式Memento(原理讲解+应用场景介绍+案例介绍+Java代码实现)
58 0
|
7月前
|
Java 编译器
【Java学习笔记】 对象和类
【Java学习笔记】 对象和类
|
7月前
|
设计模式 存储 Java
【设计模式——学习笔记】23种设计模式——迭代器模式Iterator(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——迭代器模式Iterator(原理讲解+应用场景介绍+案例介绍+Java代码实现)
29 0
|
5月前
|
存储 缓存 安全
《java核心技术36讲》学习笔记-------杨晓峰(极客时间)
《java核心技术36讲》学习笔记-------杨晓峰(极客时间)
62 0
|
2月前
|
存储 前端开发 Java
java学习笔记
java学习笔记
63 0
|
4月前
|
XML Java 数据格式
Spring5学习笔记——狂神说Java
Spring5学习笔记——狂神说Java
|
5月前
|
安全 Java
《深入理解java虚拟机》学习笔记-----郑雨迪
《深入理解java虚拟机》学习笔记-----郑雨迪
44 0