• 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
          
          
          
          
          
          
          
    
          
  • 相关阅读:
    android视频录制
    UIWebView 缓存
    (Detected problems with API compatibility(visit g.co/dev/appcompat for more info)
    二、为什么要安装jdk?
    一、java为什么叫java?
    jstl标签
    J2EE(八)——myeclipse开发servlet
    J2EE(七)——myeclipse开发servlet
    J2EE(六)——servlet生命周期
    J2EE(五)——servlet初识
  • 原文地址:https://www.cnblogs.com/ych961107/p/12016377.html
Copyright © 2020-2023  润新知