- 博客(618)
- 收藏
- 关注
原创 Java ArrayList扩容的原理
Java提供了Collection这个集合接口,可以用来作为数据的容器,其子接口分为单列集合List和双列集合Map,本文初略探索一下List集合下ArrayList的扩容原理。
2024-12-03 11:08:25 1179
原创 JavaWeb文件上传
文件上传主要是指将本地文件(包括但不限于图片、视频、音频等)上传到服务器,提供其他用户浏览或下载的过程。在日常生活中,我们在很多情况下都需要使用文件上传功能,比如:发微博、发朋友圈等(这里主要是指照片和视频文件),可见文件上传的重要性。文件上传功能实现需要涉及到两个部分,一个部分是前端程序、一个部分是后端程序,本文将前后端分开讲解。
2024-12-06 21:31:10 1247
原创 请求响应:常见参数接收及封装(Json参数及路径参数)
Json格式的数据具有轻量级、易于阅读和编写、易于解析等诸多优点。在前后端交互时,大部分情况下请求体中的数据会以JSON格式进行传递。前端的请求在请求体中携带了Json格式数据,后端程序需要对其进行解析并封装使用,而接收Json参数一般是用实体对象进行接收的
2024-12-04 23:03:57 901
原创 请求响应:常见参数接收及封装(数组集合参数及日期参数)
在前端页面的表单中,存在复选框元素,当提交表单到后端的时候,会将复选框中的全部内容提交到后端进行处理,由于复选框中往往存在很多数据,并且同复选框中数据名称相同,这样的请求参数叫做数组参数:请求参数名相同并且请求参数为多个,这样的请求参数就是数组参数, 此时想要在后端正确接收到这些数组参数,就需要使用数组(或集合)。
2024-12-04 23:01:05 447
原创 请求响应:常见参数接收及封装(简单参数)
在客户端向服务端发起请求时,往往会携带各种相关的请求数据(比如在删除员工的时候需要携带员工的id),这些请求数据通过多种形式(如直接写在URL中的参数,请求体中的json数据等),在后端程序(controller层)需要将这些请求数据正确的接收并正确的封装使用。这些参数常见的有:简单参数、数组集合参数、日期参数、json参数、路径参数等,都需要用不同的方法进行获取。(以下演示代码,案例都基于SpringBoot框架)
2024-12-04 22:57:41 1088
原创 Java泛型的理解
泛型是Java中一个比较重要的特性,是于JDK5引入新特性,其主要目的是为了提供编译时的类型安全检测机制和简化代码。本文主要探讨一下泛型的使用。
2024-12-03 23:51:49 230
原创 数据库多表设计
在项目开发中,进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,因为业务之间相互关联,所以说各个表结构之间也存在着各种联系,基本上分为:一对多(多对一)、多对多、一对一这三种。
2024-12-02 23:54:44 1409
原创 开发规范:Restful风格
REST(REpresentational State Transfer),表述性状态转换,它是一种软件架构的风格。
2024-12-01 23:56:44 895
原创 数据库连接池
在Java的多线程中,有线程池负责线程管理,类似线程池,在数据库中也有数据库连接池,负责数据库连接的管理。数据库连接池是一个容器。负责分配、管理数据库连接(Connection)。它允许应用程序重复使用一个现有的数据库连接,而不是在每次连接的时候重新创建一个新的连接;它还可以避免因为没有释放连接而引起的数据库连接遗漏问题。
2024-11-30 23:56:12 713
原创 优秀的持久层框架——MyBatis
在Java程序中如果想要操作数据库,官方提供了JDBC这套API,但从开发效率而言,直接使用原生的JDBC进行开发,代码有些冗杂、开发效率也不够高,所以说就需要使用框架来协助开发。MyBatis就是一个优秀的持久层(三层架构中的DAO)框架,其主要用于简化JDBC的开发;MyBatis的底层就是JDBC,但是对其进行了高度的封装,从而简化了原生JDBC开发
2024-11-30 23:53:42 832
原创 Java程序操作数据库——JDBC
想要通过Java程序操作关系型数据库,就需要使用JDBC(Java DataBase Connectivity),JDBC就是使用Java程序操作关系型数据库的一套API(Java官方提供的)。很多高级的操作数据库的框架(如MyBatis、MyBatisPlus等)底层都是基于JDBC的,是对JDBC的高级封装;所以说了解原生的JDBC的操作是十分重要的。
2024-11-29 23:26:37 602
原创 DI依赖注入详解
声明了一个成员变量(对象)之后,在该对象上面加上注解@AutoWired注解,那么在程序运行时,该对象自动在IOC容器中寻找对应的bean对象,并且将其赋值给成员变量,完成依赖注入。
2024-11-28 23:55:22 995
原创 IOC控制反转详解
前面曾经提到,若想要把某个对象交给IOC容器管理,就需要在其声明上加上@Component注解。但是Spring中有三层架构,为了更加清晰的标注对象是属于哪一层的,提供了三个@Component的衍生注解:@Controller(标注在控制层)、@Service(标注在业务层)、@Repository(标注在数据访问层,但是因为该层和Mybatis进行整合,数据访问层一般使用@Mapper)。
2024-11-28 23:50:28 429
原创 IOC容器实现分层解耦
需要依赖其他层完成业务时,在声明对象的时候,不要直接new对象;需要使用一个容器,将需要使用的对象存储起来,当需要使用该对象时,直接在容器中获得即可,避免用new实例化对象,从而解除耦合。那么如何实现这个操作呢?Spring提供了两个思想(方法):控制反转,依赖注入。
2024-11-27 23:53:37 1219
原创 HTTP 协议入门
HTTP协议:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则(格式) 浏览器给服务器发送请求,服务器处理之后响应对应的数据 服务器需要解析浏览器的数据;浏览器也需要解析服务器响应的数据,为了成功解析,就通过HTTP协议规定了数据传输的格式。
2024-11-26 23:48:56 92
原创 JavaScript 自定义对象
和Java等面向对象的语言一样,在JavaScript中也可以自定义对象,对象可以有属性和方法(函数),但是JavaScript中的对象不具备构造方法。
2024-11-22 23:54:07 602
原创 JavaScript 函数
JavaScript中也可以使用函数,但是使用的方法有些不同;需要使用function关键字定义一个函数(或者使用匿名函数或者箭头函数)。但是需要特别注意的是:在类中定义函数时,一定不可以使用箭头函数,因为箭头函数的this关键字会使用错误(并非是指当前对象,而是指其父类)
2024-11-22 23:51:14 196
原创 Java Stream流的方法使用
Stream流中可以有多个中间方法,但是只能有一个终结方法;并且当终结方法使用之后,流就会关闭,无法再进行操作。
2024-11-19 23:58:48 1094
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人