首页 > 编程语言 >Java语言知识点

Java语言知识点

时间:2024-04-08 14:37:02浏览次数:25  
标签:知识点 Java 语言 接口 --- 注解 mybatis java 进阶

目录

java基础语法

基础语法

掌握java环境搭建、IDE的使用、基本代码编写;

关键特性

Java注释、变量、数据类型、运算符、控制语句、方法

面向对象

面向对象;
this和static,局部变量&成员变量(实例成员变量、静态成员变量);
实例方法、静态方法(static);

封装

封装
私有属性private,set方法和get方法)

继承

继承,子类&父类

方法覆盖&多态

方法覆盖,多态,向上转型&向下转型

super

super用法

java进阶语法

进阶-面向对象

1)final关键词
2)抽象类
3)接口
4)类之间的关系:泛化关系、实现关系、关联关系、聚合关系、合成关系、依赖关系
5)Object类:toString()、finalize、==与 equals 方法
6)包和import
7)访问控制权限:private、default、protected、public
8)内部类:实例内部类、静态内部类、局部内部类、匿名内部类

进阶-数组

1)一维数组
2)二维数组
3)数组排序,数组二分法
4)Arrays工具类

进阶-常用类

1) String
2) StringBuffer
3) 基础类型对应的 8 个包装类,自动装箱和拆箱
4) 日期相关类:Date,SimpleDateFormat,Calendar
5) 数字相关类:DecimalFormat,BigDecimal
6) Random
7) Enum

进阶-异常处理

1)错误、受控异常、非受控异常。Exception、RuntimeException
2)捕获(try…catch),声明抛出(throws)
3)try…catch…finally…
4)getMessage()和printStackTrace()
5)finally和return
6)final、finally、finalize
7)throws和throw
8)自定义异常,方法覆盖与异常

进阶-集合

1)Collection接口
2)Iterator遍历
3)List接口:ArrayList,LinkedList
4)Set接口:HashSet(equals和hashCode),TreeSet(Comparable和Comparator)
5)Map接口:键值对,哈希算法,自定义类作为Map键需实现equals和hashCode方法,entrySet遍历、keySet遍历
6)Collections工具类
7)泛型

进阶-IO流

进阶-多线程

1)堆内存和方法区内存共享,栈内存独立
2)多线程实现的两种方式,编写一个类:
      2.1)继承java.lang.Thread类,重写run
      2.2)实现java.lang.Runable接口,重写run
3)线程的生命周期:新建、就绪、运行、阻塞、死亡状态
4)线程调度:抢占式,优先级
5)Thread.sleep()、Thread.yield()、t.join()、t.interrupt()
6)使用标记,停止线程
7)线程的同步(加锁):synchronized对象锁
8)守护线程:t.setDaemon(true)
9)Timer 定时器

进阶-反射机制

进阶-注解

基本类型注解,自定义注解,读取注解信息

java框架系列

maven框架

1)Maven工程约定目录
Hello
|---src
|---|---main
|---|---|---java
|---|---|---resources
|---|---test
|---|---|---java
|---|---|---resources
|---pom.xml

2)POM文件
3)仓库
4)Maven生命周期
  clean   -清理
  compile -编译
  test    -测试
  package -打包
  install -安装
  deploy  -部署

spring

1)IOC
    1.1)基于XML的DI
        (1)set注入
        (2)构造注入
        (3)引用类型属性自动注入:byName,byType
    1.2)基于注解的DI
2)AOP
    2.1)面向切换编程
        (1)切面(aspect)
        (2)连接点(joinPoint)
        (3)切入点(pointCut)
        (4)目标对象(target)
        (5)通知(advice)
    2.2)AspectJ 对 AOP 的实现
        (1)前置通知@Before
        (2)后置通知@AfterReturning,参数returning="xxx"
        (3)环绕通知@Around,参数ProceedingJoinPoint
        (4)切入点表达式:execution(访问权限 方法返回值 方法声明(参数) 异常类型)
        (5)@PointCut

spring-mybatis

3)spring集成mybatis
    3.1)pom依赖
    3.2)Dao接口,mapper映射文件,Service接口实现,mybatis主配置文件,spring配置文件-注册SqlSessionFactoryBean-定义MapScanner-向Service注入
4)spring事务
    4.1)使用 Spring 的事务注解管理事务
        - 事务管理器接口:PlatformTransactionManager
        - 事务定义接口:TransactionDefinition(定义三类常量:事务隔离级别,事务传播行为,事务默认超时时限)
    4.2)使用AspectJ的AOP配置管理事务

mybatis框架

1)mybatis
    1.1)mapper映射文件xxx.xml
    1.2)mybatis主配置文件
    1.3)MyBatis 对象分析:SqlSession , SqlSessionFactory
2)mybatis框架Dao代理
    2.1)Dao接口动态代理:MapperProxy
    2.2)参数传递:parameterType,多参数(@Param,使用对象,按位置,使用Map),占位符#和字符串替换$
    2.3)处理查询结果:resultType,resultMap
    2.4)模糊like:%
3)动态SQL
    3.1)if:<if test="表达式">and xxx</if>
    3.2)where:<where> 其他动态 sql </where>
    3.3)foreach:<foreach ... </foreach>
    3.4)代码片段:<sql/>,<include/>
4)配置文件:dataSource,属性配置,typeAliases,mappers
5)分页插件:PageHelper

springmvc

1)处理器
    1.1)@Controller,@RequestMapping
    1.2)理解springmvc执行流程
2)springMVC注解式开发
    2.1)@RequestMapping定义请求规则
    2.2)处理器方法的参数:①名称相同,②@RequestParam,③对象接收
    2.3)处理器方法的返回值:①ModelAndView,②String,③无返回值void,④返回自定义类型对象@ResponseBody
3)几个配置文件:https://www.cnblogs.com/fangtingfei/p/11404031.html
    3.1)applicationContext.xml
    3.2)jdbc.properties
    3.3)mybatis-config.xml
    3.4)springMVC.xml
4)异常处理:@ExceptionHandler
5)拦截器@HandlerInterceptor

微服务架构

springboot框架

1)特性:①快速创建spring程序,②使用java.main方法启动内嵌的Tomcat,③约定的starter POM配置,④自动化配置,⑤健康检查,⑥注解配置
2)四大核心
    2.1)自动配置,@SpringBootApplication
    2.2)起步依赖
    2.3)Actuator
    2.4)命令行界面
3)springboot核心配置文件:application.properties / application.yml
4)springboot集成mybatis
    - ①依赖添加,②application.properties配置数据源,③@Mapper注解,④主类@MapperScan注解
5)springboot支持事务
    - @EnableTransactionManagement,@Transactional
6)springboot下的springmvc
    - @RestController
    - @RequestMapping,@GetMapping,@PostMapping,@PutMapping,@DeleteMapping
7)springboot实现RESTful
    - @PathVariable,@PostMapping,@DeleteMapping,@PutMapping,@GetMapping
8)拦截器:实现HandlerInterceptor接口
9)过滤器:实现Filter接口

mp框架

1)定义mapper继承mybatis-plus中的BaseMapper
2)定义实体类
    2.1)@TableName,说明表名称
    2.2)@TableId,说明主键
    2.3)@TableField,指定列明。不指定时,列明使用下划线,属性名是驼峰命名方式,mybatis默认支持这种规则
3)自定义sql查询:
    3.1)创建实体类,创建mapper,创建sql映射xml文件,配置xml文件位置
4)查询和分页
    4.1)构造器:Wrapper,QueryWrapper:查询条件封装类,UpdateWrapper:更新条件封装类
    4.2)QueryWrapper查询方法:select;allEq,eq,ne,gt,ge,lt,le,between,notBetween,like,notLike,likeLeft,likeRight,isNull,isNotNull,in,notIn,inSql,notInSql,groupBy,orderByAsc,orderByDesc,orderBy,last拼接sql语句,exist,notExists.
    4.3)分页:配置分页插件,实现物理分页
5)MP生成器:velocity-engine-core

标签:知识点,Java,语言,接口,---,注解,mybatis,java,进阶
From: https://www.cnblogs.com/running-future/p/18121051

相关文章

  • Java 解决 Process 执行命令行命令报【CreateProcess error=2, 系统找不到指定的文件
    目录问题问题代码解决方案判断操作系统问题使用Process执行命令行命令时,报 CreateProcesserror=2,系统找不到指定的文件。但明明指定的文件是存在的。而且这种错误只在 IDEA中运行会报错,打包后直接java-jar运行就能正常运行,不会报错。问题代码publicclas......
  • R语言生物群落(生态)数据统计分析与绘图
    暨融合《R语言基础》、《tidyverse数据清洗》、《多元统计分析》、《随机森林模型》、《回归及混合效应模型》、《结构方程模型》、《统计结果作图》七合一版本R语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂,涉及众多统计分析......
  • 中文地址实现去重计算-Java
    地名作为最常用的社会公共信息,不仅与人们的日常生活息息相关,而且是政府行政行为、经济建设不可缺少的基础信息资源。在电商场景中经常会遇到多源地址去重的场景,需要分析不同渠道的地址是否指向同一户,由于同一个地址可能会有不同书写方法,导致无法通过简单的去重和等值关联进行,为了......
  • 基于PHP语言免费的身份证实名认证接口
    互联网线上平台可以通过集成实名认证接口的方式来实现身份证实名认证的功能,一串代码,调用key与secrert,并加入响应的参数,即可进行身份证真伪的核验,核验成功后返回一致或不一致的核验结果,那么有没有免费体验的身份证实名认证接口呢?翔云API免费测试,在线领取测试条数,下面基于......
  • JavaScript之applye、bind和call方法详解
    QuestionQ1apply()、bind()和call()方法的区别在哪?Q2apply()和call()的应用场景Q3apply()、bind()和call()方法手写实现逻辑来源继承自Function.prototype,属于实例方法console.log(Function.prototype.hasOwnProperty('call')) //trueconsole.log(Functio......
  • 基于Java+SpringBoot+Vue的SRM供应商系统(源码分享)
           前言:供应商招投标管理系统是一个综合性的管理平台,旨在规范供应商的招投标流程,确保采购过程的透明度和公正性,同时提高采购效率。以下是对您提到的各个环节的详细解释:一、供应商准入供应商准入是招投标管理系统的首要环节,它负责审核和管理潜在供应商的资质。具......
  • Java中的多态
    1.1多态的概念多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。同一件事情,发生在不同对象身上,就会产生不同的结果。1.2多态实现条件在java中要实现多态,必须要满足如下几个条件,缺一不可:1.必须在继承体系下2.子类必......
  • 前端学习<四>JavaScript基础——11-流程控制语句:选择结构(if和switch)
    代码块用{}包围起来的代码,就是代码块。在ES5语法中,代码块,只具有分组的作用,没有其他的用途。代码块中的内容,在外部是完全可见的。举例: {   vara=2;   alert('qianguyihao');   console.log('千古壹号'); } ​ console.log('a='+a);打印结......
  • 前端学习<四>JavaScript基础——10-运算符
    我们在前面讲过变量,本文讲一下运算符和表达式。运算符的定义和分类运算符的定义运算符:也叫操作符,是一种符号。通过运算符可以对一个或多个值进行运算,并获取运算结果。表达式:数字、运算符、变量的组合(组成的式子)。表达式最终都会有一个运算结果,我们将这个结果称为表达式的......
  • 【C语言】扫雷游戏
    目录1 扫雷游戏功能说明1.1扫雷游戏介绍1.2游戏界面2 游戏分析与设计2.1 读入用户指令2.2 地雷数据生成,处理与储存2.3地雷标记及展开2.4用户界面2.5游戏循环主体3代码实现game.hgame.ctest.c1 扫雷游戏功能说明1.1扫雷游戏介绍    使用......