1、多态分为编译时多态和运行时多态,编译时多态就是方法的重载,运行时多态就是父类方法在不同的子类中进行不同的重写或继承接口,运行时根据不同的对象和参数运行不同的方法进行动态绑定这一过程。多态需要三个必要条件,继承、重写、向上转型。
2、mybatis中xml配置文件标签<cache/>表示将查询结果加入缓存,二次查询时便不需要访问数据库。
3、一个mapper.xml文件对应一个mapper接口,namespace应该具体到mapper接口文件。
4、mybatis.mapper-locations配置xml文件查询位置
mybatis.type-aliases-package配置resultType查询路径,配置后不需要使用实体类的完全限定名
5、spring.datasource.type字面意思为配置数据源类型,这里的数据源指的不是数据库,而是对数据库以及数据库交互操作的抽象,这里通常配置druid、c3p0等数据库连接池。
6、server.port用来指定springboot的启动端口
7、@RunWith(SpringRunner.class)是JUnit的注解,用来告诉JUnit使用spring注入的类,这样spring的自动注入才能生效。
8、@SringBootTest(classes=Xxx.class)是springboot用于测试类的注解,用于加载ApplicationContext,启动spring容器。
9、spring异步注解
在方法上加入@Async注解,spring会从线程池中获取一个新的线程来执行方法,实现异步调用
在spring boot启动类或自定义线程池的配置类上加@EnableAsync注解,开启对异步任务的支持
10、String.hashCode()方法主要用于返回对象的哈希值
11、ConcurrentHashMap.keys()方法用于返回枚举对象所有键的枚举
12、hasMoreElements()方法当枚举对象含有至少一个值时返回true
13、nextElement()方法用于取出枚举对象中的下一个元素,同时指针向后移
14、Java四种修饰符的访问权限,不加修饰符就是default
15、String.indexof("str")查找字符串中字符首次出现的位置,并返回索引值。
16、JSONObject是一种json类型的数据结构,可以使用put方法添加元素,也可以使用toJSONString()方法转换为字符串。
17、使用匿名类的方式初始化hashmap对象,不推荐使用这种方式,但可以学习避免碰到了看不懂
Map<String,Object> map = new HashMap<String,Object>(2){
{
put.("who is landawang","sheep")
}
}
18、JSON转化问题
JSONObject.parseObject() //json字符串转化为json对象
JSONObject.parseArray()//将Json字符串数据转换成集合对象,实体类对象字段要与Json对象的字段保持一致
JSONObject.toJSONString() //对象转string
19、Java常用术语
①PO:PO是“Persistent Object”的缩写,意为“持久化对象”。它通常用于表示数据库中的一条记录,即一组相关的数据。PO是由ORM(对象关系映射)框架生成或手动创建的Java对象,它们通常具有与数据库中的表相同的字段和数据类型。在Java开发中,PO常常被用作DAO(数据访问对象)层的数据模型,以及和数据库交互的对象。PO对象中的字段与数据库中的列相对应,每一行数据对应一个PO对象,PO对象中的字段值就是对应列的值。
②VO:VO是“Value Object”的缩写,意为“值对象”。VO通常用于表示程序中的某个值或者一组相关的值,例如用户的姓名、年龄、地址等等。VO通常是一个不可变对象,也就是说,它的值在创建之后就不能再修改。在Java开发中,VO对象通常用于在不同层之间传递数据,例如在Controller层和Service层之间传递数据。VO对象和PO对象类似,但是它们的作用不同。VO通常是从PO对象中提取出来的一部分数据,用于展示和传递给前端界面。
③DAO:DAO是“Data Access Object”的缩写,意为“数据访问对象”。DAO层是整个应用程序中与数据库交互的核心部分。DAO层负责将数据库中的数据转换成Java对象,并将Java对象的数据保存到数据库中。DAO层的主要作用是隔离上层业务逻辑和下层数据访问细节。在Java开发中,通常使用Hibernate等ORM框架来实现DAO层。DAO层的主要任务是实现数据的增删改查等基本操作,同时提供一些高级查询功能。
④BO:BO是“Business Object”的缩写,意为“业务对象”。BO通常用于表示某个业务逻辑的实体或者模型。BO通常包含一些业务逻辑和方法,例如计算某些值、验证数据、调用其他服务等等。在Java开发中,BO对象通常由Service层或者Facade层来创建,并且它们通常包含一些业务逻辑的实现,以及对数据的操作。BO通常是针对具体的业务场景而设计的,它们是具有业务含义的实体。
⑤DTO:DTO是“Data Transfer Object”的缩写,意为“数据传输对象”。DTO通常用于在不同层之间传输数据,例如在Controller层和Service层之间传输数据。DTO对象通常包含一些简单的数据结构,例如字符串、整数、布尔值等等。在Java开发中,DTO对象通常由Controller层或者Service层来创建,并且它们通常是不可变的。
⑥POJO:POJO是“Plain Old Java Object”的缩写,意为“简单的Java对象”。POJO通常指的是一个没有任何限制、继承或实现特定接口的普通Java对象。POJO对象通常是一种轻量级的Java对象,没有任何框架或者注解的依赖。在Java开发中,POJO对象通常用于表示简单的数据模型或者数据传输对象。