目录
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