- 博客(67)
- 资源 (3)
- 收藏
- 关注
原创 Java注解
用关键字@interface来定义注解,和定义类、接口的class、interface一样@Retention和@Target是元注解,即用于修饰其他注解的注解@Retention 注解表示该注解在程序运行时可以被反射读取,而 @Target 注解则指定了该注解可以作用于类级别上的 Java 元素。
2024-04-19 18:06:57 246
原创 Java反射
Java反射是一种在运行时检查、检索和操作类、方法、字段等信息的机制。通过反射,你可以在运行时获取类的信息,如类的构造函数、字段和方法,以及调用这些方法和字段,而不需要在编译时就知道这些信息。在Java中,每个对象都属于某个类的实例。Class 类用于表示类的实例,在运行时可以使用它来获取类的信息。2 获取类的信息通过 Class 类的方法,可以获取类的构造函数、方法和字段等信息。3 创建对象使用反射可以在运行时创建类的对象。ps:newInstance()已经废弃了。废弃的原因是它会绕过编译时
2024-04-13 20:14:37 684
原创 GPT带我学-设计模式10-观察者模式
观察者模式(Observer Pattern)是一种设计模式,它定义了对象之间的一对多依赖关系,当一个对象(被观察者)的状态发生改变时,所有依赖于它的对象(观察者)都会得到通知并自动更新。这种模型主要由三个角色构成:观察者(Observer):接收并处理被观察者发出的通知。通常,观察者需要定义一个更新函数,用以在接收到通知时更新自己的状态。被观察者(Subject):当其状态发生改变时,它需要通知所有观察者。通常,被观察者维护一个观察者列表,并定义添加、删除和通知观察者的方法。
2023-10-25 17:08:12 1083
原创 GPT带我学-设计模式09-生产者消费者模式
生产者消费者模式是一种常见的并发设计模式。在任何系统设计中,如果某处的元素生成和消耗的速度存在差异,都可以使用生产者-消费者模式。在这种模式中,生产者和消费者是独立且并发执行的线程。它们通过一个共享的、有大小限制的缓冲区(通常是一个队列)进行通信。生产者的任务是生成数据放入缓冲区,消费者的任务是从缓冲区中取出数据。生产者和消费者的工作速度可能会有所不同,那么:如果生产者产生数据的速度大于消费者消费的速度,缓冲区会慢慢填满。当缓冲区满时,生产者需要等待消费者消费数据,腾出空间后才能继续生产。
2023-10-19 18:15:00 94
原创 Springboot2.3.9 Feign无法使用 Did you forget to include spring-cloud-starter-netflix-ribbon?
记录一个小bug。在springboot2.3.9工程中配置Feign后使用出现了问题。
2023-09-06 09:25:34 186
原创 GPT带我学-设计模式-迭代器模式
迭代器设计模式是一种行为型设计模式,用于提供一种统一的方式来遍历一个集合对象中的元素,而不需要暴露该对象的内部结构。它将集合对象的遍历操作与集合对象本身分离开来,使得遍历操作可以独立于集合对象进行变化。迭代器设计模式通常包含以下几个角色:迭代器(Iterator):定义了遍历集合对象中元素的接口,包括获取下一个元素、判断是否还有元素等方法。具体迭代器(ConcreteIterator):实现迭代器接口,负责实现遍历集合对象中元素的具体逻辑。
2023-08-30 23:27:47 1114
原创 GPT带我学-设计模式-外观模式
外观模式(Facade Pattern)是一种结构型设计模式,它提供了一个统一的接口,用于访问复杂子系统的一组接口。外观模式隐藏了系统的复杂性,为客户端提供了一个简单的接口来与子系统进行交互。外观模式由以下几个角色组成:外观(Facade):外观对象是外部与子系统交互的入口,它封装了子系统的功能,并提供简化的方法供客户端调用。它是客户端和子系统之间的中介,负责将客户端的请求委派给相应的子系统处理。子系统(Subsystem):子系统是外观对象所表示的功能的实际实现。
2023-08-29 16:27:04 119
原创 GPT带我学-设计模式-适配器模式
适配器设计模式是一种结构性设计模式,用于在不兼容的接口之间进行转换。它允许将一个类的接口转换成客户端所期望的接口。适配器模式包含以下几个角色:目标接口(Target):定义客户端所期望的接口。适配器(Adapter):实现目标接口,同时持有被适配者的实例,将客户端的请求转发给被适配者。被适配者(Adaptee):已存在的类或接口,不符合客户端的需求。客户端(Client):通过适配器来调用被适配者的功能。适配器模式可以解决以下问题:在系统中使用已存在的类,但其接口与系统要求的接口不一致。
2023-08-29 15:59:37 1434
原创 GPT带我学-设计模式-代理模式
代理模式(Proxy Pattern)是设计模式中的一种模式,它为其他对象提供一种代理以控制对这个对象的访问。代理模式有三个主要角色:抽象主题(Subject)、真实主题(Real Subject)和代理(Proxy)。抽象主题(Subject):定义了真实主题与代理之间的共同接口,这样真实主题和代理可以互相替换使用。真实主题(Real Subject):指实际要被代理的对象。
2023-08-20 18:34:03 1026
原创 springboot使用mybatis配置多数据源
配置多数据源有两种方案。一种是使用dynamic依赖的@DS注解的方法,这种是比较简单方便的方法。另一种是本文介绍的方式,配置不同数据源的SqlSessionFactory。第二种方法是我在开发一个老项目时,老项目配置的方法。
2023-08-17 11:11:49 705
原创 java用反射的方式根据字段1处理字段2
传入一个列表,然后根据精度的字段,处理汇率值的字段。进行补零。传入的列表类型是不定的,所以设定成一个泛型方法。工具类是通过反射获取属性值和设置属性值来完成对汇率值的处理的。在类中定义了内部的 ExchangeRateFieldHandler 类,在处理汇率值时直接使用该类即可,而不用担心通用性问题。
2023-07-05 10:12:54 115
原创 springboot项目做单元测试
用junit配合powermock、assertj做单元测试。SpringBoot 内置了 AssertJ,只需要导入 spring-boot-starter-test 依赖包。AssertJ提供了一种流式断言的方式。
2023-04-03 14:06:12 216
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人