Java第三阶段复习

时间:2019-12-10
本文章向大家介绍Java第三阶段复习,主要包括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
      
      
      
      
      
      
      

      

原文地址:https://www.cnblogs.com/ych961107/p/12016377.html