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 先根据需求明确是要读还是写 ...
随机推荐
- swiper实现滑动到某页锁住不让滑动
var swiper = new Swiper('.swiper-container', { pagination: '.swiper-pagination', onTouchStart: funct ...
- [BZOJ2654]:tree(Kruskal+WQS二分)
题目传送门 题目描述 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有need条白色边的生成树.题目保证有解. 输入格式 开始标号),边权,颜色(0白色1黑色). 输出格式 一行表 ...
- 20175221 《Java程序设计》第10周学习总结
20175221 <Java程序设计>第10周学习总结 教材学习内容总结 第十二章主要内容有: 进程与线程 进程是程序的一次动态执行过程,它对应了从代码加载.执行至执行完毕的一个完整过 ...
- 将Windows下的文件同步到Linux下
需求:把Windows下的某些文件自动传送到Linux指定目录下 实现: 1. Windows下安装 WinSCP工具,并把Liunx服务器信息保存 2. 编写脚本,实现双击工具就把Windows下的 ...
- fedora14 - 22安装yum源的最终所有唯一文档
yum的配置包括3个地方 /etc/yum中主要是yum的插件: /etc/yum/pluginconf.d 目录下配置yum的插件的启用或禁用等... /etc/yum.conf这个是yum的主要配 ...
- linux配置ssh公钥认证,打通root用户的免密码输入的scp通道
1.ssh-keygen ssh-keygen是unix-like系统的一个用来生成.管理ssh公钥和私钥的工具. 2.用法 常用的重要的选项有: -b num 指定生成多少比特长度的key,单位 ...
- ES6数值的拓展
二进制和八进制表示法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示. 如果要将0b和0o前缀的字符串数值转为十进制,要使用Number方法 Number(' ...
- C# 图片文件文本string格式 传输问题
string file = @"E:\test.png"; byte[] bytes = File.ReadAllBytes(file); // 主要代码 string datas ...
- Python 笔试集(4):True + True == ?
目录 目录 前文列表 面试题True Ture 布尔值 布尔类型是特殊的整数类型 前文列表 Python 笔试集:什么时候 i = i + 1 并不等于 i += 1? Python 笔试集(1):关 ...
- python调用c/c++时传递结构体参数
背景:使用python调用linux的动态库SO文件,并调用里边的c函数,向里边传递结构体参数.直接上代码 //test1.c # include <stdio.h> # include ...