- 博客(59)
- 资源 (1)
- 收藏
- 关注
原创 Swagger与knife4j的使用
Swagger 是一个规范和完整的框架,用于生成文档、描述接口、测试 knife4j 基于Swagger生成Api文档的增强解决方案 Swagger主要作用:使得前后端分离开发更加方便,有利于团队协作 接口的文档在线自动生成,降低后端开发人员编写接口文档的负担 功能测试SpringBoot集成Swagger引入依赖<dependency> <groupId>io.springfox</groupId> <ar
2022-05-20 09:44:20 533
原创 SpringBoot的自动装载
目录核心逻辑作用实现过程图解自动装配流程核心逻辑pom文件中添加starter起步依赖,如果你自己有配置,那就用你的配置,如果没有配置文件,就帮你配置,并且帮你创建对象放到IoC容器中作用加载所有符合条件的Configuration 创建对应的配置类的Bean对象 然后交给Spring的IoC容器进行管理实现过程SpringBoot会自动的创建一个启动类,一般是模块名加上Application, 这个启动类头上有个SpringBootApplication
2022-03-27 00:14:14 1709
原创 Spring注解开发(重要)
Component注解 声明bean Component注解不能添加在接口上,因为接口无法创建对象 @controller @service @repository, Component功能是一样的,分别使用在三层架构中 定义配置注解类(同xml) @Configuration 相当于原来的xml @componentscan 相当于原来的包扫描 @PropertySource 加载配置文件,不能使用能配符*.p...
2022-03-20 16:50:50 543
原创 Spring基础
SpringSpring全栈式支持框架,三层架构中都提供支持简化开发AOP实现简化事务代码整合框架使框架解耦提供整合框架的简化APISpring的核心技术IoC控制反转将创建对象的权利交给Spring解耦工厂+xml+反射AOP事务处理Spring的DI绑定对象与对象之间的依赖关系注入方式,推荐使用setset构造器自动装配依赖关系自动注入按类型bytype按名称byname
2022-03-20 10:26:24 245
原创 IO流常用API
字节流及其使用FileOutputStream//传入需要写入的文件路径,//续写开关是个布尔值,不写默认清空,使用true表示不清空文件FileOutputStream fos = new FileOutputStream("文件",续写开关);fos.write(需要写的数据);fis.close();//释放资源FileInputStreamFileInputStream fis = new FileInputStream("文件");fw.read(数据);fw.cl
2022-03-20 01:21:19 312
原创 IO流概念
什么是IO流概述 IO:输入/输出(Input/Output) 流:是一种抽象概念,就是数据传输的过程 IO流就是用来传输数据的,理解为上传和下载就行了 分类 按照数据的流向 输入流,输出流 按照数据类型来分 字节流: 以字节形式传输,万能流,速度慢但安全 字符流: 以字符传输,中文可能有乱码的问题 使用选择 纯文本文件,优先使用字符流
2022-03-20 00:34:49 443
原创 File类
File类概述和构造方法 概述 可以表示文件和目录的路径 文件和目录是可以通过File封装成对象 对于File封装的是路径名,所以它可以是存在的,也可以是不存在的 构造方法 方法名 说明 File(String pathname) 传入路径名的字符串,创建对象 File(String parent, String child) 传入两个字符串拼接 File(File parent, String
2021-12-12 01:58:36 148
原创 Stream流
Stream流 Stream流思想 将代码以流水线的形式展示 Stream流的好处 阅读性好,直接阅读代码的字面意思即可完美展示无关逻辑方式的语义 Stream流把真正的函数式编程风格引入到Java中 代码简洁,配合Lambda表达式可以省略大部分代码 Stream流的生成 获取Stream流对象 创建一条流水线,并把数据放到流水线上准备进行操作 中间方法,执行操作 一次操作完毕之后,还可以继续进行其他操作 终结方法
2021-12-12 01:13:19 239
原创 可变参数简介
可变参数 可变参数概述 可变参数作为方法形参使用,参数个数可以传任意数量 方法的参数类型已经确定,个数不确定,我们可以使用可变参数 可变参数实际表示数组 如果一个方法有多个形参,其中一个是可变参数,那么可变参数要放在最后 可变参数定义格式 修饰符 返回值类型 方法名(数据类型… 变量名) { } 修饰符 返回值类型 方法名(数据类型变量名1,数据类型… 变量名1) { } 例: public static void.
2021-12-11 23:54:22 527
原创 Map集合及其实现类
Map集合 Map集合 interface Map<K,V> K:键的类型;V:值的类型 Map集合的特点 双列集合,一个键对应一个值 键不可以重复,值可以重复 常用方法 方法名 说明 V put(K key,V value) 添加元素 V remove(Object key) 根据键删除键值对元素 void clear() 移除所有的键值对元素 boolea.
2021-11-30 23:27:53 201
原创 Set集合及其实现类
Set集合Set集合主要特点可以对数据去重 存取顺序不一致 没有索引,不能使用普通for循环遍历Set集合实现类TreeSet HashSetTreeSet集合TreeSet集合概述和特点 不可以存储重复元素 没有索引 可以将元素按照规则进行排序 TreeSet():根据其元素的自然排序进行排序 TreeSet(Comparator comparator) :根据指定的比较器排序 Comparable自然排序
2021-11-30 23:03:19 965
原创 二叉树与红黑树
二叉树二叉树 二叉树中,任意一个节点的度要小于等于2 节点: 在树结构中,每一个元素称之为节点 度: 每一个节点的子节点数量称之为度 二叉查找树 特点 每一个节点上最多有两个子节点 左子树上节点值小于根节点的值 右子树上节点值大于根节点的值 添加节点 小的存左边,大的存右边,一样的不存 平衡二叉树 特点 二叉树左右两个子树的高度差不超过1 任意节点的左右两个子树都是一颗
2021-11-30 22:34:47 234
原创 List与LinkedList
List基础 概述 存在索引,是一种有序集合,存取顺序 用户可以控制每个元素的插入位置,通过索引访问元素 与Set集合不同,列表通常允许重复的元素 特点 存取有序,存取有序,有索引 特有方法 方法名 描述 void add(int index,E element) 在此集合中的指定位置插入指定的元素 E remove(int index) 删除指定索引处的元素,返回被删除的元素
2021-11-30 22:06:29 959
原创 数据结构与泛型基础
数据结构 栈结构:先进后出 队列结构:先进先出 数组结构:查询快、增删慢 队列结构:查询慢、增删快 泛型概述 泛型是JDK5中引入的特性,它提供了编译时类型安全检测机制 泛型的好处 把运行时期的问题提前到了编译期间 避免了强制类型转换 泛型的定义格式 <类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如: <E> <T>
2021-11-29 15:15:14 513
原创 Collection集合
Collection集合概述: 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素 JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现 Collection集合对象 创建对象 多态的方式 具体的实现类ArrayList,LinkedList 常用方法 方法名 说明 boolean add(E e) 添加元素 boolean
2021-11-22 17:30:34 229
原创 集合基本体系
数组和集合的区别: 都是存储多个数据容器 不同点 数组的长度固定,集合的长度可变 数组可以存基本数据类型和引用数据类型 集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 集合类体系分为(Collection)单列集合与(Map)双列集合 单列集合(Collection) List(接口类型):可重复,有两个实现类 ArrayList(实现类):数组结..
2021-11-22 16:42:27 487
原创 异常体系详解
异常的概述:异常就是程序出现了不正常的情况,用来描述代码中出现的问题的,语法错误不是异常体系。异常的体系结构: Throwable 包含Error和Exception Error:严重错误,程序无法解决的问题 Exception:异常类,分为编译时异常和运行时异常两部分 编译时异常 除了RuntimeException类及其子类之外的所有异常 必须显示处理,否则程序就会发生错误,无法通过编译 运行时异常 Runti
2021-11-22 15:48:44 746
原创 时间间隔类之Period类和Duration类
Period: 方法说明 方法名 说明 public static Period between(开始时间,结束时间) 计算两个“时间"对象之前间隔 public int getYears() 获得这段时间的年数 public int getMonths() 两个月数之前的间隔 public int getDays() 两个天数之前的间隔 public long toTotalMonths() 获取此期间的总月数
2021-11-18 17:30:12 848
原创 JDK8日期类 - LocalDate & LocalTime & LocalDateTime
JDK8日期类 LocalDate 表示日期(年月日) LocalTime 表示时间(时分秒) LocalDateTime 表示时间+ 日期 (年月日时分秒) LocalDateTime创建方法: 静态方法 方法名 说明 public static LocalDateTime now() 创建当前系统时间的对象 public static LocalDateTime of (年, 月 , 日, 时, 分, 秒) 使用指定参数
2021-11-18 16:46:06 1539
原创 时间日期类之Date类与SimpleDateFormat类
Date类: 计算机中时间原点 1970年1月1日 00:00:00,中国时区+8 概述 Date 代表了一个特定的时间,精确到毫秒 Date类构造方法 方法名 说明 public Date() 当前时间封装成Date对象 public Date(long date) 带参创建Date对象,时间原点+毫秒,考虑时差 创建对象: //当前时间Date d1 = new Date();//当前时间+指定毫秒值L.
2021-11-18 15:16:50 196
原创 数组的高级操作 - 查找与排序
二分查找: 概述 查找指定元素在数组中的位置时,以前的方式是通过遍历,逐个获取每个元素,看是否是要查找的元素,这种方式当数组元素较多时,查找的效率很低 二分查找也叫折半查找,每次可以去掉一半的查找范围,从而提高查找的效率 实现步骤 定义两个变量,表示要查找的范围。默认min = 0 ,max = 最大索引 循环查找,但是min <= max 计算中间索引mid的值,最大索引加最小索引除以2 判断mid位置...
2021-11-18 12:00:21 482
原创 包装类基础知识
基本类型包装类: 包装类的作用 将基本数据类型封装成对象,这样可以在对象中定义方法操作该数据 常用的操作之一:用于基本数据类型与字符串之间的转换 基本类型对应的包装类(首字母大写) 基本数据类型 包装类 byte Byte short Short int Integer long Long float Float double Double char Character
2021-11-18 10:50:47 119
原创 BigDecimal详解
作用: 可以用来进行精确计算 构造方法: 可以传入double 和String ,推荐使用String 类型 常用方法: add(BigDecimal对象):加 subtract (BigDecimal对象):减 multiply (BigDecimal对象):乘 divide (BigDecimal对象):除 divide (BigDecimal对象,精确几位,舍入模式):除 参数1:表示参与运算的BigDecim...
2021-11-15 17:12:47 1017
原创 Object和Objects
Object 概述 Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有类都直接或者间接的继承自该类,换句话说,该类所具备的方法,所有类都会有一份 如果一个类没有指定父类,那么默认继承Object类(是所有类的爹) toString方法 重写toString方法的方式 Alt + Insert 选择toString 在类的空白区域,右键 -> Generate -> 选择to.
2021-11-15 16:52:28 131
原创 Math和System
Math 概述 Math 包含执行基本数字运算的方法 无构造方法,但内部的方法是静态的,则可以通过 类名.进行调用 常用方法 abs(int):返回参数的绝对值,正数的绝对值是它本身;负数的绝对值是它的相反数;零的绝对值是零 ceil(double):返回整数,向上取整 floor(double):返回整数,向下取整 round(float):返回整数,四舍五入 max(int a,int b):返回两个int值中的较大值 min(.
2021-11-12 16:21:54 345
原创 Lambda表达式
Lambda表达式及函数式编程思想函数式编程思想概述:在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿数据做操作” 面向对象思想:通过对象的形式来做事情 函数式思想:忽略面向对象的复杂语法,强调做什么,而不是以什么形式去做 Lambda表达式就是函数式思想的体现标准格式: 格式:(形式参数) -> {代码块} ( ) -> { }形式参数:如果有多个参数,参数之间用逗号隔开;如果没有参数...
2021-11-09 22:13:33 86
原创 内部类的基本知识
内部类概述:在一个类中再定义一个类。外部类中所包含的类就是内部类 格式:class 外部类名{ 修饰符 class 内部类名{ } }访问特点: 内部类可以直接访问外部类的成员,包括私有 外部类要访问内部类的成员,必须创建对象 成员内部类: 成员内部类作为类成员,和成员方法、成员变量一个位置,在外部类大括号中 创建成员内部类格式: 外部类名.内部类名 对象名 = 外部类对...
2021-11-09 21:49:25 82
原创 面向对象三大特征之——多态
面向对象三大基本特征之多态。概述: 同一个对象,在不同时刻表现出来的不同形态。 多态的前提 要有继承或实现关系 要有方法的重写 要有父类引用指向子类对象,I 特点:成员访问 成员变量:编译看(左边)父类,运行看(左边)父类 成员方法:编译看(左边)父类,运行看(右边)子类 成员变量和成员方法的访问不一样,因为成员方法有重写,成员变量没有。好处和弊端: 好处:提高程序的扩展性。定义方法时候,使
2021-11-06 21:10:41 107
原创 接口知识详解
接口:一个类当中,所有的方法都是抽象方法,这个类就是作为制定规则的一个类,所有子类必需强制重写该类的所有方法。声明规则的就称之为接口。接口也是一种引用数据类型。 接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。 存在的意义 : 用来定义规范。 用来做功能的拓展。 接口的定义:接口用关键字interface关键字修饰;public interface 接口名 {} 接口不能创建对象, 我们可以创建接口的子类,将抽象方法重写之后进行使
2021-11-06 00:52:10 280
原创 代码块概述
代码块概述:在Java中,使用 { } 大括号括起来的一段代码被称为代码块。分类: 局部代码块 位置:方法中定义; 作用:限定变量的生命周期,及早释放,提高内存利用率。 构造代码块 位置:类中方法外定义; 特点:构造方法执行前执行,每次构造方法执行都会先执行该代码块; 作用:将多个构造方法中相同的代码,抽取到构造代码块中,提高代码的复用性。 静态代码块 位置:类中方法外定义;
2021-11-05 23:23:14 106
原创 方法重写与抽象类
方法重写:子类出现了和父类中一样的方法声明,方法名和参数列表一样; 方法重写可以沿袭父类的功能,又能定义子类特有的内容; Override注解可以用来检测当前的方法,是否是重写的方法。方法重写注意事项:私有方法不能被重写,私有成员不能被外界访问,所以不能继承; 子类重写方法访问权限不能降低(public > 默认 > 私有),必需大于等于父类; 静态方法不能被重写,如果子类也有相同的方法,不属于方法重写。fianl关键字 :final代表最终的意思,可以修饰
2021-11-05 23:14:37 402
原创 面向对象三大特征之——继承
继承的概念:三大基本特征:封装、继承、多态; 继承是面向对象三大特征之一,可以使子类具有父类的属性和方法,还可以在子类中重新定义方法内容。继承的特点 Java仅支持单继承,有且只有一个父类,但可以有多个子类。 Java中类支持多层继承,父类也有父类。 继承的实现与作用: 继承通过extends关键字实现; 格式:class 子类 extends 父类 { }。 继承可以让类与类之间产生子父关系,使子类能够使用父类中非私有成员。
2021-11-05 22:42:14 409
原创 static关键字
概述static 关键字是静态的意思,是Java中的一个修饰符,用来修饰成员方法和成员变量,使数据被共享。特点: 被类的所有对象共享 随着类的加载而加载,优先于对象存在,对象未创建时已经存在 可以通过类名调用,也可以通过对象名调用 注意事项: 静态方法只能访问静态的成员 非静态方法可以访问静态的成员,也可以访问非静态的成员 静态方法中是没有this关键字 ...
2021-10-28 13:52:30 76
原创 ArrayList学生管理系统的基本实现
需求:编写一个学生管理系统,可以实现对学生的信息录入,删除,修改和查看;使用ArrayList可以将每个学生对象保存在里面。然后在集合中实现。图纸类:创建图纸类用对学生对象的创建,标准格式,定义成员变量,有参无参构造,get set方法。public class Student{ private String sid ;//学号 private String name ;//姓名 private int age ;//年龄 private St.
2021-10-27 20:13:52 401 2
原创 ArrayList基础练习
需求:定义教师(Teacher)类,属性包含姓名和专业名称。将若干教师对象存入ArrayList集合中,并遍历集合打印教师信息,姓名:赵老师, 专业:javase姓名:钱老师, 专业:javaee姓名:孙老师, 专业:php姓名:李老师, 专业:python代码实现:图纸类:public class Teacher { //私有成员变量 private String name; private String course; //构造方法,成
2021-10-26 22:49:24 405
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人