Java第三阶段复习
Java第三阶段复习:
1. Spring
1. IOC:
定义:Inverse Of Controller:反转控制,将bean对象的创建和对象之间的关联关系的维护由原来我们自己创建、自己维护反转给了spring
的容器来创建bean对象及维护关联关系
解决:解决了上层建筑严重依赖下层建筑的问题,实现了上层建筑对下层建筑的控制
实现:DI[Dependency Injection], xml解析+反射+容器+设计模式 2. Aop:
定义:Aspect Oreinted Programming:面向切面编程,是对OOP的补充,相互促进,在原有类的方法代码不变的情况下,对原有的方法进行功能性的拓展。
解决:关注点分离问题【希望不同的部分来处理不同的问题,每一部分只处理自己的问题】 实现:jdk动态代理和CGLIB代理
具体应用:声明式事务 、缓存、全局异常处理@ControllerAdvice 3.声明式事务:
@Transactional()
传播机制:propagation
required:
requires_new:
support:
隔离级别:isolation:
数据库的隔离级别:
uncommitted_read
committed_read
repeatable_read:mysql
serializable 回滚属性:rollbackFor={},norollbackFor=
默认只有RuntimeException 超时属性:timeout: 只读属性:readOnly:true 2. SpringMVC:
1.SpringMVC的运行流程图:
1.浏览器给服务器发请求,被服务器端的springmvc的前端控制器拦截
2.springmvc的前端控制器将请求交给处理器映射器【HandlerMapping】处理
3.
4. 2.SpringMVC的6个常见注解及每个注解的含义 @RequestMapping:映射请求url
@PathVariable:将路径占位符绑定到目标方法的参数上
@ResponseBody:返回json数据
@RequestBody:接收json对象信息 @RequestParam:接收请求参数
@RequestHeader:接收请求头 @ControllerAdvice:全局异常处理
@ExceptionHandler:局部异常处理 @NumberFormat:数值类型转换器
@DateTimeFormat:时间类型转换器 3.五个异常类【英文】:
SQLException
ClassNotFoundException
NullPointerException
BingdingException:
//ArrayIndexOutBoundException 3. MyBatis:
MyBatis和原生jdbc、hibernate、jdbcTemplate的优势
1.MyBatis首先是一个框架,处理有对数据表数据的增删改查操作之外,还有缓存机制、字段映射等功能
2.MyBatis支持动态SQL
3.MyBatis将表的关联关系直接映射为POJO对象的关联关系
4.MyBatis支持将java代码和SQL语句分离
5.MyBatis是一个半自动化的orm框架,便于项目后期维护和优化。 MyBatis的#{}与${}的区别:
#{}:类似于javaweb部分学过的preparestatement对象,采用占位符?预编译的方式,是sql安全的,没有sql注入问题
${}: 类似于javaweb部分学过的statement对象,直接将参数拼接到sql语句中,存在sql注入问题。 当然也不是所有的情况都是用#{},在特殊情况下,就使用${},例如:like后面的字段或者order by字段及表名 都使用${} 4. Oracle:
oracle和mysql的数据数据类型:
oracle数据类型:number、date、varchar2
oracle的group by:
oracle没有limit
oracle分页:借助于:rownum别名+子查询的方式
select *
from (
select rownum rn, ename,eid
from employee) tmp
where rn > 2 and rn <6 5. Maven
maven:使用过
maven的命令及每个命令的作用:
mvn clean: 清空target目录
mvn compile: 编译src/main/java
mvn test: 测试
mvn package: 将当前项目打成对应的包【jar、pom、war】
mvn install: 将当前项目打成的包扔到本地仓库中。
mvn deploy: 将本地仓库的项目部署到私服上。 6. Linux:
常用的6个linux命令,每个命令的含义:
find / -name *file*:查看某个文件名含有file的文件所在路径
cat 文件名 | grep 'hello world':查看文件内容是否含有指定的字符串 ps -ef | grep 服务名:查看某个进程是否启动的
netstat -an | grep 端口号:查看某个进程是否启动的 kill 【-9】 pid: 强制杀死一个进程 tar -zxvf 压缩包 -C /指定目录: 将tar.gz压缩包解压到指定目录 top: 查看cpu
df -h :查看磁盘大小的
free -m :查看内存的 软件:
解压安装:tomcat、
rpm: 安装rpm包:安装jdk
yum install 软件名:mysql 7. Redis-------------->Redis集群:
1.Redis是干啥的,缓存,加快查询效率,在service层使用,nosql 2.redis支持事务,但是事务支持不大好。 3.Redis的五种数据类型:
string:使用存储任意数据类型 hash:适合存储对象、map
set:适合存储set类型
list:适合存储set类型
zset【sorted set】:做游戏排名 8. Nginx:
nginx三大主要功能:
虚拟主机
反向代理
负载均衡 10.项目
同步请求:
异步请求 jsp:
html:${} 同步请求:
异步请求: PageHelper:
导入pageHelper的jar包依赖
在mybatis全局配置文件中配置pageHelper插件 在查询列表之前PageHelper.startPage(pageNum,pageSize)
查询列表
PageInfo pageInfo = new PageInfo(列表); Quartz:
Email: Echarts
Ueditor:
弹窗和遮罩
ztree Vue:
--->Router
Java第三阶段复习的更多相关文章
- java第三阶段作业总结
Java第三阶段总结 前言 到这里,Java课程学习进入了尾声,在这学习过程中,我学习到很多,也发现了自己的很多不足,这篇博客主要针对的是Java整门课程学习的总结. 课程收获 对整门课程的学习,我有 ...
- Java第三阶段学习(十四、JSP动态页面、EL表达式、JSTL标签库)
一.JSP技术 1.jsp脚本和注释 jap脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部,比如写在doget.dopost 内的代码 2) ...
- Java第三阶段学习(十三、会话技术、Cookie技术与Session技术)
一.会话技术 1. 存储客户端状态 会话技术是帮助服务器记住客户端状态(区分客户端)的. 2. 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话.会话技术就是记录这 ...
- Java第三阶段学习(十一、Servlet基础、servlet中的方法、servlet的配置、ServletContext对象)
一.Servlet简介 1.什么是servlet: sun公司提供的一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是java代码,通过java的API动态的向 ...
- Java第三阶段学习(十、XML学习)
一.XML学习 1.模拟Servlet执行 在学习完前端及java与数据库后,将进行WEB编程阶段的学习.在WEB编程中,可以通过浏览器访问WEB服务器上的数据.这时WEB服务器就相当于另一台计算机. ...
- Java第三阶段学习(九、类加载器、反射)
一.类加载器 1.类的加载: 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 1.1 加载: 就是指将class文件读入内存,并为之自动 ...
- Java第三阶段学习(八:网络通信协议、UDP与TCP协议)
一.网络通信协议 1.概念: 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传 ...
- Java第三阶段学习(六、多线程)
一.进程和线程的区别: 进程:指正在运行的程序,当一个程序进入内存运行,就变成一个进程. 线程:线程是进程的一个执行单元. 总结:一个程序运行后至少会有一个进程,一个进程可以有多个线程. 多线程:多线 ...
- Java第三阶段学习(五、流的操作规律、Properties流、序列化流与反序列化流、打印流、commons-IO jar包)
一.流的操作规律 四个明确: 明确一:明确要操作的数据是数据源还是数据目的地 源:InputStream Reader 目的地:OutputStream Writer 先根据需求明确是要读还是写 ...
随机推荐
- 7.Python编码规范(PEP 8)
在讲解具体的 Python 编码规范之前,先来看看图 1 中的代码: 图 1 两段功能相同的 Python 代码 对比图 1 中的两段代码你会发现,它们所包含的代码时完全相同的,但很明显,右侧的代码编 ...
- sqli-labs(33)
0X01构造闭合 发现‘ 被过滤了 那么 宽字节绕过 ?id=-%df%%20union%20,database(),%
- ArrayList类源码浅析(一)
1.首先来看一下ArrayList类中的字段 可以看出,ArrayList维护了一个Object数组,默认容量是10,size记录数组的长度: 2.ArrayList提供了三个构造器:ArrayLis ...
- 《Effective Java》读书笔记 - 4.类和接口
Chapter 4 Classes and Interfaces Item 13: Minimize the accessibility of classes and members 一个好的模块设计 ...
- 分享页(把末尾的JS函数换成这个)
function jsApiStart(obj) { wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以 ...
- WPF C# 创建缩略图
不太精确的方法: public bool ThumbnailCallback() { return false; } private void CreateThumb(int toWidth) { S ...
- python - property 属性函数
Python中有一个被称为属性函数(property)的小概念,它可以做一些有用的事情.在这篇文章中,我们将看到如何能做以下几点: 将类方法转换为只读属性 重新实现一个属性的setter和getter ...
- 前端需要注意哪些SEO
1.合理的title.description.keywords:搜索对这三项的权重逐个减小,title值强调重点即可,重要关键词不要超过2次,而且要靠前,不同页面title要有所不同:descript ...
- 分布式任务队列 Celery —— 详解工作流
目录 目录 前文列表 前言 任务签名 signature 偏函数 回调函数 Celery 工作流 group 任务组 chain 任务链 chord 复合任务 chunks 任务块 mapstarma ...
- Windows命令集锦
1.用于私网的IP地址段: 10.0.0.0/8: 10.0.0.0-10.255.255.255 172.16.0.0/12: 172.16.0.0-172.31.255.255 192.168.0 ...