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第三阶段复习的更多相关文章

  1. java第三阶段作业总结

    Java第三阶段总结 前言 到这里,Java课程学习进入了尾声,在这学习过程中,我学习到很多,也发现了自己的很多不足,这篇博客主要针对的是Java整门课程学习的总结. 课程收获 对整门课程的学习,我有 ...

  2. Java第三阶段学习(十四、JSP动态页面、EL表达式、JSTL标签库)

    一.JSP技术 1.jsp脚本和注释 jap脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部,比如写在doget.dopost 内的代码 2) ...

  3. Java第三阶段学习(十三、会话技术、Cookie技术与Session技术)

    一.会话技术  1. 存储客户端状态 会话技术是帮助服务器记住客户端状态(区分客户端)的.  2. 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话.会话技术就是记录这 ...

  4. Java第三阶段学习(十一、Servlet基础、servlet中的方法、servlet的配置、ServletContext对象)

    一.Servlet简介  1.什么是servlet: sun公司提供的一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是java代码,通过java的API动态的向 ...

  5. Java第三阶段学习(十、XML学习)

    一.XML学习 1.模拟Servlet执行 在学习完前端及java与数据库后,将进行WEB编程阶段的学习.在WEB编程中,可以通过浏览器访问WEB服务器上的数据.这时WEB服务器就相当于另一台计算机. ...

  6. Java第三阶段学习(九、类加载器、反射)

    一.类加载器 1.类的加载: 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 1.1 加载: 就是指将class文件读入内存,并为之自动 ...

  7. Java第三阶段学习(八:网络通信协议、UDP与TCP协议)

    一.网络通信协议 1.概念: 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传 ...

  8. Java第三阶段学习(六、多线程)

    一.进程和线程的区别: 进程:指正在运行的程序,当一个程序进入内存运行,就变成一个进程. 线程:线程是进程的一个执行单元. 总结:一个程序运行后至少会有一个进程,一个进程可以有多个线程. 多线程:多线 ...

  9. Java第三阶段学习(五、流的操作规律、Properties流、序列化流与反序列化流、打印流、commons-IO jar包)

    一.流的操作规律 四个明确: 明确一:明确要操作的数据是数据源还是数据目的地 源:InputStream   Reader 目的地:OutputStream Writer 先根据需求明确是要读还是写 ...

随机推荐

  1. shell基础操作

    一.字符串 字符串是shell编程中最常用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用引号. 单引号 name='xiaoxi' 单引号的限制: 单引号里的任何字符都会原样输出,单引号中 ...

  2. python中类的设计问题(一些高级问题探讨,函数重载,伪私有,工厂模式,类方法等)

    从这里再次体现了python语言强大的灵活性.某些在高级语言中看似不严谨需要尽量避免的地方在python中都是允许的. 比如: (1),异常可以用来处理错误 (2),方法,类也都可以视为对象. (3) ...

  3. 初识REST

    RESTful介绍: REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”或“表现层状态转化”. 1 ...

  4. 微信小程序的 音频 组件

    audio:音频组件, api 接口为 wx.createInnerAudioContext audio 组件的属性: id:类型 字符串 audio 组件的唯一标识 src:类型 字符串 要播放音频 ...

  5. linux上的常用的系统自带命令

    wikipedia 发现的分类,发现还有好多没用过.. Unix command-line interface programs and shell builtins   File system ca ...

  6. Spring boot 自定义一个starter pom

    用过springboot的自动配置会觉得非常方便,我们完全可以自己写一个starter pom,这样不仅可以有自动配置功能,而且具有更通用的的耦合度低的配置, 新建一个starter的maven项目, ...

  7. JS实现数组排序:升序和降序

    如果指明了 compareFunction ,那么数组会按照调用该函数的返回值排序.即 a 和 b 是两个将要被比较的元素: 如果 compareFunction(a, b) 小于 0 ,那么 a 会 ...

  8. [LeetCode] 272. Closest Binary Search Tree Value II 最近的二叉搜索树的值 II

    Given a non-empty binary search tree and a target value, find k values in the BST that are closest t ...

  9. Gradle之Android Gradle Plugin 主要 Task 分析(三)

    [Android 修炼手册]Gradle 篇 -- Android Gradle Plugin 主要 Task 分析 预备知识 理解 gradle 的基本开发 了解 gradle task 和 plu ...

  10. spring -boot定时任务 quartz 基于 JobDetailFactoryBean实现

    这个有点小问题 尚未解决  后期优化 基于 JobDetailFactoryBean实现 依赖包 <dependencies> <dependency> <groupId ...