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 先根据需求明确是要读还是写 ...
随机推荐
- JMS学习八(ActiveMQ消息持久化)
ActiveMQ的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB,还有一种内存存储的方式,由于内存不属于持久化范畴,而且如果使用内存队列,可以考虑使用更合适的产品,如ZeroMQ.所以 ...
- CVE-2019-0708
本机IP 192.168.1.100 靶机IP 1:windows2003sever :192.168.1.101 确认3389端口开启 0x01测试windowsxp 切到目录 目标机器确实存在 ...
- Nodejs搭建音视频通信-信令服务器 总结
1.安装nodejs node-v10.16.3-x64.msi 2.安装配置环境变量 这里的环境配置主要配置的是npm安装的全局模块所在的路径,以及缓存cache的路径,之所以要配置,是因为以后在 ...
- 腾讯这套SpringMVC面试题你懂多少(面试题和答案)
1.什么是 SpringMvc? 答:SpringMvc 是 spring 的一个模块,基于 MVC 的一个框架,无需中间整合层来整 2.Spring MVC 的优点: 答:1)它是基于组件技术的.全 ...
- React Native商城项目实战05 - 设置首页的导航条
1.Home.js /** * 首页 */ import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Te ...
- mount -o是什么意思
mount -o是用loop设备, 在 linux挂载本地的(可能是硬盘上的) iso文件时, 使用的. -o 就是loop回环设备的意思. loop回路文件系统: 是: 用来在一个文件系统上实现另一 ...
- 歌手详情数据处理和Song类的封装
我们现在每首歌曲的数据都是这样的 我们需要在这个数据里面去提取我们需要的部分,来构造成我们需要的数据对象 那我们要和创建singer.js一样 同样也要创建song.js类 我们还要获取到每首歌对应 ...
- script标签defer与async的区别
总结: async 会在文件下载完毕后立即执行 会阻止html parser defer 会下载完以后等html parser结束后执行,保证顺序
- ubuntu服务器允许Root用户登录
1.重置root密码 sudo passwd root 2.修改ssh配置文件 sudo vim /etc/ssh/sshd_config后进入配置文件中修改PermitRootLogin后的默认值为 ...
- WebMvcConfigurer 与 WebMvcConfigurationSupport避坑指南
我们知道,在Spring Boot 2.0后用自己的的配置类继承WebMvcConfigurerAdapter时,idea会提示这个类已经过时了. 通常情况下我们会采用下面两种代替方案: 实现WebM ...