摘要: //实现MethodInterceptor接口。(扮演Advice通知的角色)public class MyInterceptor implements MethodInterceptor { @Override public Object invoke(MethodInvocation invoc 阅读全文
posted @ 2021-07-01 16:28 炼金术士0z 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 1、使用junit测试@RunWith(MockitoJUnitRunner.class) // 使用注解或者initMocks 注入mock public class TestJunit { @Mock TestDao testDao; @InjectMocks TestService testS 阅读全文
posted @ 2021-06-29 21:58 炼金术士0z 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 文件导入数据库,excel可以用easyexcel实现,csv则可以用opencsv。(本来excel的写好了,又突然说换csv格式) 研究了下,比较简单,优点是csv文件体积小,占用内存小(需求改就是因为这个),里面是用多线程读取和转换为bean的。 <dependency> <groupId>c 阅读全文
posted @ 2021-06-06 21:09 炼金术士0z 阅读(922) 评论(0) 推荐(0) 编辑
摘要: @FunctionalInterface 1.此注解表明该接口是一个函数式接口,所谓的函数式接口,是指“有且只有一个抽象方法”2.接口中的静态方法,默认方法(default修饰),以及java.lang.Object类中的方法都不算抽象方法。3.如果接口符合函数式接口的定义,则此注解加不加无所谓,加 阅读全文
posted @ 2021-06-01 23:25 炼金术士0z 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 责任链模式: 一个请求的处理需要多个对象当中的一个或几个协作处理。 /** * 责任链模式 */ public class responsibility { public static void main(String[] args) { // Request request = new Reque 阅读全文
posted @ 2021-05-21 00:29 炼金术士0z 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 模板方法: 定义一个操作的算法骨架,而将一些步骤延迟到子类中。Template Method 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 /** * 模板方法模式 */ public class TemplateMethod { public static void main( 阅读全文
posted @ 2021-05-20 22:29 炼金术士0z 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 策略模式: 定义了算法族,分别封装起来,让它们之间可以相互替换,此模式的变化独立于算法的使用者。 /** * 策略模式 */ public class Stragety { public static void main(String[] args) { Zombie normalZombie = 阅读全文
posted @ 2021-05-20 22:08 炼金术士0z 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式: 在不改变原有对象的基础上,将功能附加到对象上 /** * 装饰者模式 */ public class decoratorTest { public static void main(String[] args) { Component component = new ConcreteD 阅读全文
posted @ 2021-05-20 00:16 炼金术士0z 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 适配器模式: 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以工作。 /** * 适配器模式,组合 */ public class AdapterTest { public static void main(String[] args) 阅读全文
posted @ 2021-05-19 23:39 炼金术士0z 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 门面模式: 为子系统中的一组接口提供一个一致的接口,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 应用场景: 1.当您需要使用复杂子系统的有限但直接的接口时,请使用Facade模式。 2.当您想要将子系统组织成层时,请使用Facade。 /** * 门面模式 */ pub 阅读全文
posted @ 2021-05-19 22:22 炼金术士0z 阅读(36) 评论(0) 推荐(0) 编辑