- 博客(61)
- 收藏
- 关注
原创 Swagger
Swagger是一种接口描述语言,用于描述使用JSON表示的RESTful API。Swagger与一组开源工具一起使用,以设计,构建,记录和使用RESTful Web服务。Swagger包括自动文档,代码生成和测试用例生成。没写项目前把接口文档写好,文档中要把前后端的接口规则定义好,大家照着这些规则去开发接口knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案他是对原生的swagger进行了封装。
2024-03-25 09:01:34 991
原创 Spring AOP
AOP(Aspect Oriented Programming,面向切面编程),首先面向切面是一种思想,它看似与面向对象相对,但实则为面向对象的延续。面向对象自问世以来,因其贴合现实生活,对编程人员极为友好,广受业内喜爱。但单纯的面向对象编程,在一些场景下,好像不如现实生活中简单自然。在OOP(面向对象编程)中,类之间的关系如下图:这其中清晰地展示了类与类之间的父子关系,却没办法表示如下图所示的同级关系。AOP的出现便是为了弥补此类需求。
2024-03-24 12:19:28 1456
原创 SSM整合Springboot
DAO层(mapper)DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此DAO层的设计首先是设计DAO的接口,然后在spring-mapper.xml的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及有关数据库连接的参数都在spring-mapper的配置文件中进行配置。
2024-03-22 17:13:58 985
原创 Mybatis
是一款优秀的持久层 半自动ORM 框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJO(普通的Java对象)映射成数据库中的记录。Configration会去找全局配置文件,然后sesssion工厂去找sqlsession。Sqlsession就是myBatis中最核心的了。它去加载mappedStatment。然后去执行TransAction。
2024-03-21 16:12:13 642
原创 SpringBoot
SpringBoot是由Pivotal团队在2014年4月发布的全新开源轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JAR和WAR内嵌Tomcat或Jetty等Servlet容器。
2024-03-18 13:42:19 879
原创 Spring
Spring是个Java企业级应用JavaEE(13种规范)的开源开发框架。Spring主要用来开发Java应用,是针对构建JavaEE平台的web应用。
2024-03-15 08:29:05 1197
原创 Java反射
反射 (Reflection) 是 Java 的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。Oracle 官方对反射的解释是:简而言之,通过反射,我们可以在运行时获得程序或程序中每一个类型的成员和成员的信息。程序中一般的对象的类型都是在编译期就确定下来的,而 Java 反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是未知的。所以我们可以通过反射机制直接创建对象,即使这个对象的类型在编译期是未知的。
2024-03-14 09:42:22 1203
原创 Maven
Maven 的正确发音是[ˈmevən],而不是“马瘟”以及其它什么瘟。Maven 在美国是一个口语化的词语,代表专家、内行的意思。一个对 Maven 比较正式的定义是这么说的:Maven 是一个项目管理工具,它包含了一个项目对象模型POM),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统 (Dependency Management System)
2024-03-13 13:54:21 1221
原创 JDBC应用
boolean next(): 游标向下移动一行,判断当前行是否是最后一行末尾(是否有数据),如果是最后一行末尾,则返回false,如果不是最后一行末尾则返回true* getXxx(参数):获取数据* Xxx:代表数据类型 如: int getInt() , String getString()* 参数:1. int:代表列的编号,从1开始 如: getString(1) getString(“name”)2. String:代表列名称。
2024-03-12 08:43:05 857
原创 数据库应用
多张表的查询,语法和单表查询差不太多。-- 创建部门表INSERT INTO dept (NAME) VALUES ('开发部'),('市场部'),('财务部');-- 创建员工表gender CHAR(1), -- 性别salary DOUBLE, -- 工资join_date DATE, -- 入职日期FOREIGN KEY (dept_id) REFERENCES dept(id) -- 外键,关联部门表(部门表的主键)
2024-03-11 19:10:07 1313
原创 数据库基础
什么是数据库:数据库就是用来存储和管理数据的仓库,数据库的英文单词: DataBase 简称 : DB数据库存储数据的优点:可存储大量数据;方便检索;保持数据的一致性、完整性;安全,可共享;通过组合分析,可产生新数据。数据库特点:持久化存储数据的。其实数据库就是一个文件系统,就是个.db文件方便存储和管理数据使用了统一的方式操作数据库 -- SQL常见的数据库:Oracle:甲骨文公司,收费大型数据库DB2:IBM公司的数据库产品, 收费的。常应用在银行系统中。
2024-03-08 08:19:27 1067
原创 Java异常
在java程序《运行》过程中,出现的不正常情况,出现的错误,称为异常异常就是一个对象,描述那些不符合生活正常情况的异常情况,包含了这些情况的原因、类型、描述以及位置,这些内容都封装到异常对象中。异常也是一种处理异常情况的机制,可以进行跳转、捕获以及结束程序,提供了程序退出的安全通道throw:抛出,用于抛出一个异常对象异常是一个对象,当程序运行到某种情况时,程序员认为这种情况和现实生活不符合,就把当前的对于情况的描述,封装到一个异常对象中,通过throw关键字将异常对象进行抛出。
2024-03-07 08:35:28 993
原创 Java双列集合
Map:双列集合的顶层接口Map:描述的就是一个数据(key)到另一个数据(value)的对应关系一个数据(key):就是有规律的,容易记忆的,简单的一个数据一个数据(value):没有规律的,不容易记忆的,复杂的一个数据大多数都是根据key来寻找valueMap的特点:Key(键)是唯一的Value(值)不是唯一的Map和Collection的区别:Map是双列集合Collection是单列集合Map的键是唯一的,Collection中的Set子接口中的元素是唯一的。
2024-03-05 08:52:05 1192
原创 Java单列集合
单词:收集、集合单列集合的顶层接口,定义的是所有单列集合中共有的功能。常用方法:add(Object obj):将obj元素添加到集合中remove(Object obj):将obj元素从集合中删除clear():将集合中的元素清空isEmpty():判断集合中元素是否为空contains(Object obj):判断集合中是否包含obj元素size():返回集合中的元素个数示例代码/*** Collection概述和常用方法*/
2024-03-04 15:09:30 1180
原创 Java——Object
Object类是所有类型的顶层父类,所有类型的直接或者间接的父类;所有的类型中都含有Object类中的所有方法。随意定义一个类型,不手动显式定义其父类,那么这个类的父类就是Object类Object类的构造方法:Object()可以自己创建对象让子类访问,所有子类都会直接或者间接的访问到这个顶层父类的构造方法Object类在执行构造方法时,不去访问自己的父类,因为没有父类了定义在内部的类,就是内部类。可以定义在类的内部,可以定义在方法的内部。根据定义的位置不同,可以分为:成员内部类。
2024-03-01 17:50:09 1315
原创 Java多态
多态:可以理解为一个事物的多种形态。同一方法调用可以根据实际调用对象的不同而采用多种不同的行为方式。多态的前提:要有子父类的继承(实现)关系有方法的重写何为多态:父类的引用指向子类的对象int age;System.out.println("人:吃饭!");System.out.println("男人负责挣钱养家!");@OverrideSystem.out.println("男人要多吃饭,才能长身体!");System.out.println("女人喜欢购物!");
2024-02-29 09:59:23 1125
原创 Java继承
多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么就无需在多个类中定义这些相同属性和行为,只要继承那个类即可。继承继承TeacherPersonStudent在 Java 中通过extends关键字可以实现类与类的继承。int age;System.out.println("能吃饭");System.out.println("能睡觉");String job;System.out.println("会讲课");System.out.println("会学习")
2024-02-28 14:29:48 989
原创 Java封装
封装:隐藏事物的属性和实现细节,对外提供公共的访问方式。为什么需要封装?封装的作用和含义?我要用洗衣机,只需要按一下开关和洗涤模式就可以了。有必要了解洗衣机内部的结构吗?有必要碰电动机吗?我要开车,...我们程序设计追求“高内聚,低耦合”。高内聚 :类的内部数据操作细节自己完成,不允许外部干涉;低耦合 :仅对外暴露少量的方法用于使用。耦合性。封装性的设计思想隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。
2024-02-27 15:49:54 1079
原创 Java类和对象
面向对象(OOP, Object-oriented programming):一种编程思路,编程思想。面向对象和面向过程比较:都是编程思想,面向过程是面向对象的基础,面向对象是基于面向过程的。面向过程(POP):更强调解决问题的基本步骤,强调问题的解决方式,更强调的是方法。编程思路:自上向下、不断分解。面向对象(OOP):更强调解决问题的主体,更强调谁来解决这个问题,更强调的是数据,更强调的是对象,更强调的是谁拥有数据和操作数据的权力。编程思路:自底向上,不断拼装。
2024-02-26 11:17:36 1150
原创 Java方法
具有某种特定功能的代码段。某段代码经常使用,所以用大括号,将这段代码包起来,起个名字。以后就使用这个名字来代替这段代码特点:提高了代码的复用性。提高了代码的封装性,大括号中的内容,其他调用者看不到也无法直接访问。简化了软件设计的思维难度语法结构:访问修饰符 可选修饰符 返回值类型 方法名称(形式参数列表) {方法体代码块;return;语法解释:访问修饰符:后面讲,暂时不写,或者写成public可选修饰符:后面讲,暂时写成static. 静态.
2024-02-22 10:01:01 779
原创 Java数组
定义:数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。常见概念:数组名,下标(或索引),元素,数组的长度特点:数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。数组的长度一旦确定,就不能修改。我们可以直接通过下标(或索引)的方式调用指定位置的元素,速度很快。
2024-02-21 08:58:16 1005
原创 Java流程控制
也可以不写,如果不写,就有可能一个语句都执行不到。在一次大的循环中,每次的循环内容(循环体)又是一个循环的操作,就需要在大循环中,定义一个小循环。在行号的右边,鼠标左键单击,添加断点(每个方法的第一行,哪里有bug添加到那里)初始化变量:声明一个变量,用于记录循环次数,只执行一次。初始化变量:声明一个变量,用于记录循环次数,只执行一次。初始化变量:声明一个变量,用于记录循环次数,只执行一次。在一个程序中,有很多的代码,代码的执行顺序,就是流程。跳转语句:在循环的循环体语句中,结束循环,控制循环。
2024-02-20 08:50:48 1010
原创 Hello, Java!
是SUN(Stanford University Network,斯坦福大学网络公司 ) 1995年推出的一门高级编程语言。Java一开始富有吸引力是因为Java程序可以 在Web浏览器中运行。这些Java程序被称为Java小程序(applet)。applet使用现代的图形用户界面与Web用户进行交互。applet内嵌在HTML代码中。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。后台开发:Java、PHP、Python、Go、Node.js虚拟机。
2024-02-02 08:00:00 1075
原创 vuex组件之间共享数据的方式
Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享修改state状态必须通过mutations只能执行同步代码,类似ajax,定时器之类的代码不能在mutations中执行执行异步代码,要通过actions,然后将数据提交给mutations才可以完成state的状态即共享数据可以在组件中引用组件中可以调用action。
2024-02-01 08:00:00 1069
原创 Vue路由
路由的概念路由的本质就是一种对应关系,比如说我们在url地址中输入我们要访问的url地址之后,浏览器要去请求这个url地址对应的资源。那么url地址和真实的资源之间就有一种对应的关系,就是路由,路由是根据不同的 url 地址展示不同的内容或页面;前端路由是基于hash值的变化进行实现的(比如点击页面中的菜单或者按钮改变URL的hash值,根据hash值的变化来控制组件的切换)核心实现依靠一个事件,即监听hash值变化的事件//location.hash可以获取到最新的hash值<head>
2024-01-29 08:00:00 1558
原创 前后端交互
原生ajax基于jQuery的ajaxfetch(ajax的升级版)axios (第三方的库)Promise实例生成以后,可以用then方法指定resolved状态和reject状态的回调函数我们使用new来构建一个Promise ,Promise的构造函数接收一个参数,是函数,并且传入两个参数: resolve,reject, 分别表示异步操作执行成功后的回调函数和异步操作执行失败后的回调函数JavaScript的执行环境是「单线程」
2024-01-28 08:00:00 2953
原创 Vue组件
在这一小节中,重点要理解的就是组件的编程思想。组件表示页面中的部分功能(包含自己的逻辑与样式),可以组合多个组件实现完整的页面功能。问题是,如何确定页面中哪些内容划分到一个组件中呢?你可以将组件当作一种函数或者是对象来考虑(函数的功能是单一的),根据[单一功能原则]来判定组件的范围。也就是说,一个组件原则上只能负责一个功能。如果它需要负责更多的功能,这时候就应该考虑将它拆分成更小的组件。定义:组件是可复用的Vue实例,准确讲它是的实例,继承自Vue分类:有状态组件(有data属性),
2024-01-27 08:00:00 2990
原创 Vue常用特性
内置指令不能满足我们特殊的需求Vue允许我们自定义指令局部指令,需要定义在 directives 的选项 用法和全局用法一样局部指令只能在当前组件里面使用当全局指令和局部指令同名时以局部指令为准/*自定义指令-局部指令*/data: {msg: {},//局部指令,需要定义在 directives 的选项color: {},focus: {el.focus();});</script>事物从出生到死亡的过程每个Vue。
2024-01-26 08:00:00 906
原创 Vue基础语法篇
Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站,还可以开发手机App, Vue语法也是可以用于进行手机App开发的)Vue.js 是前端的主流框架之一,和Angular.js、React.js 一起,并成为前端三大主流框架!Vue.js 是一套构建用户界面的框架,只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。(Vue有配套的第三方类库,可以整合起来做大型项目的开发)前端的主要工作?主要负责MVC中的V这一层;
2024-01-25 08:00:00 1158
原创 $.ajax与同源策略
用户在输入框中连续输入一串字符时,可以通过防抖策略,只在输入完后,才执行查询的请求,这样可以有效减 少请求次数,节约请求资源;1. var timer = null // 1.定义防抖标识2. 定义防抖函数3. 触发keyup事件时,立即清timer防抖:如果事件被频繁触发,防抖能保证只有最后一次触发生效!前面N多次的触发都会被忽略!节流:如果事件被频繁触发,节流能够减少事件触发的频率,因此,节流是有选择性地执行部分事件!
2024-01-24 08:00:00 1033
原创 服务器与Ajax
--通信的三要素 主体 内容 和方式通信协议( Communication protoco)是指通信的双方完成通信所必须遵守的规则和约定。通俗的理解:通信双方采用约定好的格式来发送和接收消息,这种事先约定好的通信格式,就叫做通信协议。网页内容又叫做超文本,因此网页内容的传输协议又叫做超文本传输协议( Hyper Text Transfer Protocol)简称HTTP协议。
2024-01-23 08:00:00 1324
原创 Node开发基础
能够和后端程序员更加紧密的配合网站业务逻辑前置,学习前端技术需要后端技术支撑扩宽知识视野,能够站在更高的角度审视整个项目别人写好的、具有特定功能的、我们能直接使用的模块即第三方模块,由于第三方模块通常都是由多个.js文件组成并且被放置在一个文件夹中,所以又名包。第三方模块有两种存在形式:以js文件的形式存在,提供实现项目具体功能的API接口。----类似于jquery为什么需要包?
2024-01-22 08:00:00 1000
原创 rem布局
媒体查询(Media Query)是CSS3新语法。使用 @media查询,可以针对不同的媒体类型定义不同的样式@media 可以针对不同的屏幕尺寸设置不同的样式(也就是响应式布局)当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面目前针对很多苹果手机、Android手机,平板等设备都用得到多媒体查询Less(Leaner Style Sheets 的缩写)是一门 CSS扩展语言,也成为CSS预处理器。
2024-01-21 08:00:00 1942
原创 flex布局
数值越小,排列越靠前,默认为0。注意:和 z-index 不一样。(z-index值越大,越靠上).item1 {/* 值越小 越靠 主轴方向start显示 */order: 0;了解:若想显示元素排列顺序,请排列标签顺序,而不是设置order值,不建议使用order。
2024-01-20 08:00:00 1214
原创 移动web开发流式布局
1.物理像素点指的是屏幕显示的最小颗粒,是物理真实存在的。这是厂商在出厂时就设置好了,比如苹果6 是 750 * 1334物理像素指的是屏幕渲染图像的最小单位,属于屏幕的物理属性,不可人为进行改变,其值大小决定了屏幕渲染图像的品质,我们以上所讨论的都指的是物理像素。获取屏幕的物理像素尺寸部分移动设备下获取会有错误和误差,与移动开发无关,只需要了解1px = 1px吗?2、CSS像素(开发像素),指的是通过CSS进行网页布局时用到的单位,其默认值(PC端)是和物理像素保持一致的。
2024-01-19 08:00:00 1094
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人