自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Spring框架的理解

spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架从大小与开销而言是轻量级的通过控制反转的技术达到松耦合的目的通过面向切面,允许通过分离应用的业务逻辑与系统即服务进行内聚性开发包含并管理应用对象Bean的配置和生命周期,这个意义上是一个容器将简单的组建配置,组合成复杂的应用,这个意义上是一个框架。......

2022-07-24 18:53:39 537 1

原创 java设计模式-适配器模式

1.介绍适配器模式,就是定义一个包装类,用于包装不兼容接口的对象。把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作。(笔记本电源适配器)适配器模式分为类适配器模式和对象适配器模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。2. 模式结构组成类的适配器模式是把适配的类的API转换成为目标类的API。类适配器模式可定义一个适配器类来实现当前系统的业务接口,同时又继承现有组件库

2022-01-20 14:29:41 445

原创 设计模式---建造者模式(Builder)

建造者模式(链式编程)1.定义指将一个复杂对象的构造与它的表示分离,使同样的构建过程 可以创建不同的表示2.组成产品角色(Product):它是包含多个组成部件的复杂对象,由具体建造者来创建其各个组成部件 抽象建造者(Builder):引入抽象建造者的目的,是为了将建造的具体过程交与它的子类来实现。这样更容易扩展。一般至少会有两个抽象方法,一个用来建造产品,一个是用来返回产品。 具体建造者(Concrete Builder):该角色实现抽象建造者中定义的所有方法,并且返回...

2022-01-04 15:49:58 312

原创 设计模式-简单工厂模式和工厂方法模式

简单工厂模式:存在一个手机代生产类,客户端通过实例化这个类并且告诉它要生产哪个手机,然后手机代生产类做相对应的逻辑判断,根据客户端的选择条件动态实例化相关的类工厂方法模式:定义一个用于创建对象的接口,让客户端决定实例化哪一个工厂,从而生产相对应的手机。选择判断的问题还是存在的,也就是说,工厂方法把简单工厂的内部逻辑判断移到了客户端代码来进行。如果说要是说对扩展开发,对修改关闭,如果你要加一个生产华为类,就要修改工厂类里面的生成产品的代码,在这里你就要增加if-else判断。违反了开闭原则.优缺点

2021-12-20 16:39:38 316

原创 设计模式-原型模式

问题:现在有一只羊(包含属性:名字Dolly、年龄2),需要克隆10只属性完全相同的羊。一般解法(首先想到的方法):1.定义Sheep类表示羊,包括构造器、getter()和toString()。public class Sheep { private String name; private int age; public Sheep(String name, int age) { this.name = name; this.a.

2021-12-18 18:14:18 223

原创 @RequestMapping与@GetMapping和@PostMapping

@RequestMapping与@GetMapping和@PostMapping等新注释  Spring的复杂性不是来自于它处理的对象,而是来自于自身,不断演进发展的Spring会带来时间维度上复杂性,比如SpringMVC以前版本的@RequestMapping,到了新版本被下面新注释替代,相当于增加的选项:@GetMapping @PostMapping @PutMapping @DeleteMapping @PatchMapping从命名约定我们可以看到每个注释都是为了处理各自的传入

2021-12-14 14:47:05 924

原创 抽象类和接口的区别是?

(一)抽象类含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract类型。(二)接口接口(interface...

2021-11-17 14:47:05 100

原创 Spring常用注解

Java配置类相关注解@Configuration 声明当前类为配置类,相当于xml形式的Spring配置(类上);@Bean 注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式(方法上);@Configuration 声明当前类为配置类,其中内部组合了@Component注解,表明这个类是一个bean(类上);@ComponentScan 用于对Component进行扫描,相当于xml中的(类上);声明bean的注解@Component 组件,没有明确的角色;

2021-11-12 17:07:25 100

原创 有关hashMap跟hashTable的区别

1.底层数据结构不同:jdk1.7底层都是数组+链表,但jdk1.8 HashMap加入了红黑树2.Hashtable 是不允许键或值为 null 的,HashMap 的键值则都可以为 null。3.添加key-value的hash值算法不同:HashMap添加元素时,是使用自定义的哈希算法,而HashTable是直接采用key的hashCode()4.实现方式不同:Hashtable 继承的是 Dictionary类,而 HashMap 继承的是 AbstractMap 类。5.初始化容.

2021-11-12 16:52:21 712

原创 ArrayList 底层实现和LinkedList 底层实现方式

1. ArrayList 底层实现①ArrayList 通过数组实现,一旦我们实例化 ArrayList 无参数构造函数默认为数组初始化长度为 10②add 方法底层实现如果增加的元素个数超过了 10 个,那么 ArrayList 底层会新生成一个数组,长度为原数组的 1.5 倍+1,然后将原数组的内容复制到新数组当中,并且后续增加的内容都会放到新数组当中。当新数组无法容纳增加的元素时,重复该过程。是一旦数组超出长度,就开始扩容数组。扩容数组调用的方法 Arrays.copyOf(objArr, obj

2021-11-10 15:34:21 598

原创 LambdaQueryWrapper中常用方法

LambdaQueryWrapper中常用方法LambdaQueryWrapper实例12.链式查询3.排序查询以及between and查询4.修改

2021-11-01 16:37:33 6944

原创 SSM三大框架+SpringMVC的工作原理及其流程

SpringMVC的工作原理及流程一、SSM中各层作用及关系1.持久层:DAO层(mapper层)(属于mybatis模块) DAO层(Mapper层):主要负责与数据库进行交互设计,用来处理数据的持久化工作。 DAO层的设计首先是设计DAO的接口,也就是项目中你看到的Dao包。 然后在Spring的xml配置文件中定义此接口的实现类,就可在其他模块中调用此接口来进行数据业务的处理, 而不用关心接口的具体实现类是哪个类,这里往往用到的就是反射机制,DAO层的jdbc....

2021-11-01 14:53:48 832

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除