JavaBean
四个规范
- 类使用public修饰
- 字段私有化
- 每一个字段提供get/set方法
- 提供无参构造器
- 只有符合这四个规范才能称为JavaBean对象
属性和字段的区别
-
属性:方法名符合getXxx/setXxx/isXXX格式
- 若为getXxx格式,有返回值,无参数
- 若为setXxx格式,无返回值,有参数
- 若为isXxx格式,返回值为布尔值
- 符合以上情况,则xxx为属性,例如方法名为getName,name是属性
- 字段可能不是属性,属性也可能不是字段,有时字段也是属性
字段:类中成员变量
只要符合以上情况方可称为属性或字段,不一定要在符合JavaBean规范的类中
LomBok插件
LomBok概述
- LomBok是一个他人写好的插件,使用该插件可以省略编写大量的get/set/toString等方法,但是会降低一点程序运行效率
安装流程
- 在IDEA中,点击File -> Settings -> plugings,搜索LomBok插件并点击install,重启IDEA
- 导入LomBok的Jar包,添加到库中
使用流程
- 在需要编写get/set/toString等方法的类上方使用相关注解即可
常用注解
- @Date:编写所有提供的方法
- @Getter:编写字段的get方法
- @Setter:编写字段的set方法
- @toString:重写父类的toString方法
内省
概述
- 内省是字节码对象按照set/get规范获取类的属性和方法的过程
常用方法
- Introspector类
- static BeanInfo getBeanInfo(字节码对象):获取JavaBean信息
- BeanInfo类
- PropertyDescriptors[] getPropertyDescriptors():获取JavaBean内的属性描述器
- PropertyDescriptor类
- Method getReadeMethod():获取属性的get方法
- Method getWriteMethod():获取属性的set方法
- String getName():获取属性名
- 获取属性值
Object value = beanInfo.getReadMethod().invoke(obj);
使用场景
- JavaBean对象转换为Map对象
- Map对象转换为JavaBean对象
注解
注解的概念
- @开头的叫注解,注解可以声明在类、接口、枚举、方法、变量上,使用注解可以为被标记的物提供一种功能,有些是辅助编译用的功能,如@Override,可以检测被标记的方法是否成功重写父类的方法
常见的注解
- @Override:检测被标记的方法是否成功重写父类的方法
- @Test:使被标记的方法在类中能独立运行
元注解的概念
- 元注解是只用于标记在注解上的注解,用于辅助注解
常用的元注解
- @Target:被标记的注解能使用在哪里,属性被封装在ElementType枚举类中
- @Inherited:被标记的注解能被子类所继承
- @Retention:属性被封装在RetentionPolicy枚举类中
- SOURCE:只能存活在编译时期
- CLASS:只能存活到字节码时期
- RUNTIME:只要程序一直运行,该注解就一直存在
注解基本使用
- 定义注解
- 若只有一个属性名为value的属性,使用该注解时,属性名可以省略
- 可以使用default关键字给属性赋默认值
- 使用注解:直接使用@注解名贴在被标记物上
数据库
关于数据库的理解
- 数据库是一个系统,里面有多个数据库,数据库与数据库之间互不影响,每个数据库可以定义n张表,每张表里可以定义n个字段,每个字段对应一个值
- 一张表对应一个JavaBean对象,一个字段对应对象中的一个属性,一个值对应对象中的一个属性值
简单的分类
- 关系型数据库
- MySQL
- SQL Server
- 非关系型数据库
- Redis
- MongoDB