自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式,建造者模式、外观模式

外观模式也是将耦合降低,并让主要业务不用关注过多的细节。平时的三层架构中使用的也是外观模式,这个模式会在我们不经意间使用,可见其方便性。建造者模式是关于一些创建的动作,将其放在向导角色中执行,主要业务就不用关注创建的动作。建造者模式分为抽象建造角色、具体建造角色和向导角色,抽象建造角色负责规范建造角色的创建动作,具体建造角色负责具体的创建的动作,向导角色负责调用创建角色的创建动作。建造者模式其实也是使用了外观模式的思想,它们的共同目的都是实现高内聚低耦合,实现业务的便捷和灵活性。

2024-04-30 21:23:29 76

原创 Redis的学习

Redis是一个基于的key-value结构数据库。(运行redis-server建议带上配置文件作为参数(可以使用配置好的后台运行),运行redis-cli的时候可以带上参数 -h ip地址 -p 端口 -a 密码)

2024-04-21 17:43:46 883

原创 Linux操作系统的学习

如果出现乱码,输入指令:echo 'LANG="en_US.UTF-8"' >> /etc/profile 改其字符集编码后,再输入指令:source /etc/profile 刷新以下加载即可。由于我们使用ls命令时经常要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即ll。为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限。语法:tar [-zcxvf] fileName [files]作用:为文件或目录改名、或将文件或目录移动到其他位置。

2024-04-11 22:00:53 724

原创 设计模式,模板方法模式、原型模式

模板方法模式,就是将一些具体层都会有重复的内容,都放在抽象层作为具体层的模板,让具体层的代码能更简洁,也更好地实现代码复用。

2024-04-10 20:00:26 572

原创 Git的学习,从入门到入土

分支是Git使用过程中非常重要的概念。使用分支意味着可以把工作从开发主线上分离开来,避免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。通过git init命令创建本地仓库的时候会默认创建一个master分支。

2024-04-06 23:44:16 914

原创 设计模式,工厂方法模式

以上代码可以看出,这个模式的好处就是当要加一些新的产品时,不用去改动原先的工厂,而是直接创建一个新的工厂,更符合开闭原则。可以看出,当一类产品只有一个工厂类时,就是简单工厂模式。当一类产品有多个工厂类时,就是工厂方法模式。但是这种模式还是有缺点,当增加了新的产品后,还是要对总工厂类中的代码进行一定修改,还是没有很好地符合开闭原则。当然后面还有更好的能解决此问题的模式,拭目以待吧。

2024-04-06 23:38:19 730

原创 设计模式,代理模式

代理模式就是一个对象让另一个对象为它打工。代理模式分为动态代理和静态代理,精妙的地方主要在动态代理,想了解的可以看我主页博客SSM框架,spring-aop的学习,在AOP中就可以实现将重复冗余的代码让代理对象来执行,以实现简化代码。这里代理模式东西不多,更多知识点在AOP的学习中已经写过了,就不重复写了,见以上链接。

2024-03-31 17:15:18 512

原创 设计模式,装饰模式

装饰模式的原理就是利用继承性,给每一个具体功能装饰类的对象赋予装饰的能力,并能利用super调用被装饰对象的功能,再加上新的功能。用衣服来说明装饰模式就是。定义一件衣服,它能直接套在人身上,也能继续套在其他衣服上。假如一号衣服能保暖,二号衣服能防弹,三号衣服能防水。那么一号衣服装饰人,二号衣服装饰一号衣服,三号衣服装饰二号衣服。那么,这个人就能既保了暖,又能防弹,又防水。装饰模式巧妙的利用了继承性,使得功能能根据需求动态添加。

2024-03-27 20:11:00 831

原创 设计模式,策略模式

策略模式能更好地管理和使用一类算法,在做算法增删改时,无需改动业务代码,只要对底层进行修改。使得代码的耦合度低,封装性强。策略模式结合简单工厂模式,让context起到工厂的作用,能让业务代码更为简洁,也更易于理解和使用。比起普通的策略模式,耦合度更低,封装性更强。

2024-03-24 17:19:56 575

原创 设计模式,简单工厂模式

简单工厂模式是利用工厂类来实例化一系列对象,如此简化业务代码。简单工厂模式由工厂角色、抽象产品角色、具体产品角色组成删除只需要在工厂角色中去除其实例化的代码,再删除其具体产品角色增加只需要创建一个具体产品角色,让其实现抽象产品角色的功能,再到工厂角色中增加其实例化的代码即可修改只需要在其具体产品角色中修改相应要修改的功能即可以餐馆为顾客烹饪菜品为例:若抽象产品角色为菜品,菜品的具体类型就是具体产品角色。对于餐馆来说,菜品的制作就是菜品的功能。

2024-03-22 20:24:51 522

原创 SpringBoot3框架,事件和监听器、SPI

Java中的SPI(Service Provider Interface)是一种软件设计模式,用于在应用程序中动态地发现和加载组件。SPI的思想是,定义一个接口或抽象类,然后通过在classpath中定义实现该接口的类来实现对组件的动态发现和加载。

2024-03-20 20:06:13 665

原创 SpringBoot3框架,基础特性

banner就是springboot启动时在控制台上出现的那个由字符拼接成的那个spring图标在配置文件中的spring.banner.location属性指定其classpath,在项目下放一个banner的文本图标的文件,然后写在classpath:后即可可以在SpringApplication的run操作前,插入一些自定义设置(这些设置在配置文件中也可以起作用)//可以拆分springApplication的run操作,在中间插入自定义的底层设置//例:设置banner的模式。

2024-03-19 21:10:53 769

原创 SpringBoot3框架,Web开发(下)

全面接管SpringMVC即使用全手动模式配置SpringMVC,实现WebMvcConfiger接口,再在配置类上加上@EnableWebMvc注解,再手动配置SpringMvc。使用状态信息直接在表中加一列 stats.迭代状态 (也是使用${stats.迭代状态})就可以在表中显示出每一行(集合中的每个元素)的状态信息。错误信息页面可以使用一些model数据用行内写法[[ ]]和变量取值${}(对这些错误的信息的model数据变量取值)加在页面上。热启动了,可能会引起一些bug,难以排查。

2024-03-17 21:24:27 885

原创 SpringBoot3框架,Web开发(上)

如果想保持 boot mvc 的默认配置,并且自定义更多的 mvc 配置,如:interceptors, formatters, view controllers 等。可以使用@Configuration注解添加一个 WebMvcConfigurer 类型的配置类,并不要标注 @EnableWebMvc

2024-03-15 21:52:36 983

原创 SpringBoot3框架,入门学习

条件注解使用场景:例:若容器中有A类的组件,则将B类的组件加入到IoC容器。只要在配置B类的操作上,加上一个@ConditionalOnBean(A.class)即可,也可以在@ConditionalOnBean注解的name属性中指定要判断的组件的类的全限定符

2024-03-14 17:55:40 1030

原创 SSM框架,MyBatis-Plus的学习(下)

使用MyBatis-Plus的条件构造器,可以构建灵活高效的查询条件,可以通过链式调用来组合多个条件。

2024-03-09 21:53:13 1392

原创 SSM框架,MyBatis-Plus的学习(上)

MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window) 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生通用 CRUD 封装BaseMapper (opens new window)接口, Mybatis-Plus 启动时自动解析实体表关系映射转换为 Mybatis 内部对象注入容器,内部包含常见的单表操作 类型 参数名 描述 Wra

2024-03-09 21:40:22 870

原创 SSM框架,SSM框架的整合

将Spring SpringMVC Mybatis框架应用到项目中:Spring接管一切(将框架核心组件交给Spring进行IoC管理),代码更加简洁。:通过编写配置文件,实现SpringIoC容器接管一切组件。

2024-03-06 21:35:08 867

原创 SSM框架,SpringMVC框架的学习(下)

RESTful(Representational State Transfer)是一种软件架构风格,用于设计网络应用程序和服务之间的通信。它是一种基于标准 HTTP 方法的简单和轻量级的通信协议,广泛应用于现代的Web服务开发。通过遵循 RESTful 架构的设计原则,可以构建出易于理解、可扩展、松耦合和可重用的 Web 服务。RESTful API 的特点是简单、清晰,并且易于使用和理解,它们使用标准的 HTTP 方法和状态码进行通信,不需要额外的协议和中间件。

2024-03-04 19:44:45 939

原创 SSM框架,SpringMVC框架的学习(上)

Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称(),但它通常被称为“Spring MVC”。

2024-03-02 15:31:13 1056

原创 SSM框架,MyBatis框架的学习(下)

对一查询在设计接收多表查询的结果的实体类时,设计一个对方类型的属性即可查询的结果映射时,如果查询的列名映射到对象的属性,此属性是另一个类的对象,使用resultType方式映射便不会成功映射到此属性中,便要使用resultMap的方式处理此属性的对象在resultMap中给对象属性赋值时,使用association标签进行赋值

2024-02-28 16:29:44 889

原创 SSM框架,MyBatis框架的学习(上)

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

2024-02-25 16:34:29 1015

原创 SSM框架,spring-tx的学习

对于一个方法,若其类上有注解@Transactional注解,方法上没有@Transactional注解,则以类上的@Transactional注解为准;若方法上有注解,则无视类上的注解,以其方法上的@Transactional注解为准

2024-02-18 09:26:53 944

原创 SSM框架,spring-aop的学习

二十三种设计模式中的一种,属于结构型模式。它的作用就是通过提供一个代理类,让我们在调用目标方法的时候,不再是直接对目标方法进行调用,而是通过代理类间接调用。让不属于目标方法核心逻辑的代码从目标方法中剥离出来——解耦。调用目标方法时先调用代理对象的方法,减少对目标方法的调用和打扰,同时让附加功能能够集中在一起也有利于统一维护。可以将重复的非核心的代码写在代理类中,将核心的代码写在目标方法中,每次通过调用代理类的方法来间接调用目标方法,以方便统一管理重复的非核心的代码。

2024-02-17 01:47:50 1063

原创 SSM框架,Spring-ioc的学习(下)

Spring 完全注解配置(Fully Annotation-based Configuration)是指通过 Java配置类 代码来配置 Spring 应用程序,使用注解来替代原本在 XML 配置文件中的配置。相对于 XML 配置,完全注解配置具有更强的类型安全性和更好的可读性。

2024-02-15 00:13:47 1110

原创 SSM框架,Spring-ioc的学习(上)

Spring IoC 容器,负责实例化、配置和组装 bean(组件)。容器通过读取配置元数据来获取有关要实例化、配置和组装组件的指令。配置元数据以 XML、Java 注解或 Java 代码形式表现。它允许表达组成应用程序的组件以及这些组件之间丰富的相互依赖关系。

2024-02-08 22:28:48 1284

原创 SSM框架,Maven的学习(下)

依赖传递,指的是当一个模块或库 A 依赖于另一个模块或库 B,而 B 又依赖于模块或库 C,那么 A 会间接依赖于 C。这种依赖传递结构可以形成一个依赖树。当我们引入一个库或框架时,构建工具(如 Maven、Gradle)会自动解析和加载其所有的直接和间接依赖,确保这些依赖都可用即导入依赖的同时,也会导入此依赖的依赖。

2024-02-05 20:55:03 1389

原创 SSM框架,Maven的学习(上)

指示将项目打包为什么类型的文件,idea根据packaging值,识别maven项目类型。packaging 属性为jar(默认值),代表普通的Java工程,打包以后是.jar结尾的文件。packaging 属性为war,代表Java的web工程,打包以后.war结尾的文件。packaging 属性为pom,代表不会打包,用来做继承的父工程。

2024-02-04 17:36:24 1185

原创 JavaWeb,完结及学习总结

总的来说,前端所有的内容,我其实都没怎么学好,只能认代码。要我写我肯定写不出来什么前端的东西。但是一想,一个为了后端学习制作的JavaWeb课程,总共才五十小时,把后端的servlet学好应该才是关键吧。前端的教学基本都是蜻蜓点水,我想这个课程可能不是让我们真的要会写前端,是要我们会认前端代码,也能了解前端的一些逻辑,这样我们在写后端时,能更好地对接前端代码,能在以后更好地与前端的程序员合作。新年快乐。

2024-01-31 04:31:34 591

原创 JavaWeb,Vue的学习(下)

Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。Pending(进行中)、Resolved(已完成,又称 Fulfilled)和Rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。这也是Promise这个名字的由来,它的英语意思就是“承诺”,表示其他手段无法改变。

2024-01-31 02:49:12 975

原创 JavaWeb,Vue的学习(上)

每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤,比如设置好数据侦听,编译模板,挂载实例到 DOM,以及在数据改变时更新 DOM。在此过程中,它也会运行被称为。格式:v-model:value=”数据”,一般省略:value,写为v-model=”数据”,此时的数据还是指value值。在watchEffect函数中,如果想监听数据,直接调用即可,无需将要监听的响应式数据传入参数。页面上的数据由于用户的操作造成了改变,也会同步修改对应的响应式数据,双向绑定一般用于表单标签。

2024-01-28 02:49:41 1017

原创 JavaWeb,ES6的学习

模块化是一种组织和管理前端代码的方式,将代码拆分成小的模块单元,使得代码更易于维护、扩展和复用。它包括了定义、导出、导入以及管理模块的方法和规范。

2024-01-25 03:16:01 1308

原创 JavaWeb,过滤器Filter和监听器Listener的学习

监听器是专门用于对域对象对象身上发生的事件或状态改变进行监听和相应处理的对象监听器是GOF设计模式中,观察者模式的典型案例观察者模式: 当被观察的对象发生某些改变时, 观察者自动采取对应的行动的一种设计模式监听器使用的感受类似JS中的事件,被观察的对象发生某些情况时,自动触发代码的执行监听器并不监听web项目中的所有组件,仅仅是对三大域对象做相关的事件监听。

2024-01-24 02:18:33 822

原创 JavaWeb,会话管理的学习

无状态就是不保存状态,HTTP就是无状态协议,HTTP协议自身不会对请求和响应之间的通信状态进行保存,也就是说,在HTTP协议这个级别,协议对于发送过的请求或者响应都不做持久化处理。

2024-01-22 22:24:07 909 2

原创 JavaWeb,Servlet的学习

Servlet (server applet) 是运行在服务端(tomcat)的Java小程序,是sun公司提供一套定义动态资源规范;从代码层面上来讲Servlet就是一个接口用来接收、处理客户端请求、响应给浏览器的动态资源。在整个Web应用中,Servlet主要负责接收处理请求、协同调度功能以及响应数据。我们可以把Servlet称为Web应用中的控制器不是所有的JAVA类都能用于处理客户端请求,能处理客户端请求并做出响应的一套技术标准就是Servlet。

2024-01-20 00:37:29 1051

原创 JavaWeb,XML、Tomcat、HTTP的学习

XML具体不需要太深入,但是要知道它是什么,是干嘛用的。xml作为配置文件,可以更好地存储一些信息xml文件第一行一定是根标签只能有一个xml是有约束的,分为dtd约束和schema约束,dtd约束简单不细致,schema约束复杂细致。xml文件的语法与html类似,也是只有一个根标签,也是由元素组成,元素也是由标签+属性+文本组成,可以说,html就是有html语法约束的xml文件。

2024-01-17 20:42:34 1081

原创 JavaWeb,JavaScript的学习(下)

事件可以是浏览器行为,也可以是用户行为。当这些行为发生时,可以自动触发对应的JS函数的运行,称之为事件发生。JS的事件驱动指的就是行为触发代码运行的特点。

2024-01-16 00:39:10 906

原创 JavaWeb,JavaScript的学习(上)

由于是JavaWeb的学习,是建立在已经学过Java的基础上。所以很多地方与Java做对比,然后没有把多余的内容详细写出来。

2024-01-14 19:33:16 941

原创 JavaWeb,CSS的学习

CSS,层叠样式表(Cascading Style Sheets),能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有网页对象和模型样式编辑的能力,简单来说,美化页面。

2024-01-12 23:49:31 995

原创 JavaWeb,HTML的学习

下拉框表单项也要定义name,如果option标签中没有定义value属性,则提交option双标签中间的数据,如果定义了value属性,则提交定义的value属性。如果在某个选项的option标签中加上selected,此选项就被默认选中

2024-01-11 23:58:39 632

空空如也

空空如也

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

TA关注的人

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