- 博客(98)
- 资源 (3)
- 收藏
- 关注
原创 【JavaLearn】#(31)SpringMVC原理图及使用、单元方法、restful请求、编码过滤器、静态资源放行、响应、SSM框架、作用域对象、处理Ajax请求、自定义视图解析器、上传、拦截器
SpringMVC原理图、基本使用、单元方法获取请求数据、restful请求格式、编码过滤器、静态资源放行、响应、SSM框架搭建、作用域对象、处理Ajax请求、自定义视图解析器、上传、拦截器
2024-07-18 22:31:23 717
原创 【JavaLearn】#(30)框架引入、Spring框架、Spring IOC的基本使用、常用注解(IoC)、Spring整合Mybatis、Spring AOP内容、代理设计模式、SpringTX
框架引入、Spring框架、Spring IOC的基本使用、常用注解(IoC)、Spring整合Mybatis、Spring AOP内容、代理设计模式、SpringTX
2024-02-20 22:51:32 826
原创 【JavaLearn】#(29)Maven引入、Maven项目类型、Maven安装与配置、Maven项目的创建和使用、pom配置文件介绍
Maven引入、Maven项目类型、Maven安装与配置、Maven项目的创建和使用、pom配置文件介绍
2024-01-28 17:58:13 1529
原创 【IDEA】# 快速生成logger、通过Maven的profile配置实现环境的快速切换、常用基础设置
快速生成logger、通过Maven的profile配置实现环境的快速切换、常用基础设置
2022-12-17 20:41:13 2055 1
原创 【Spring Boot】# Spring Boot项目启动时,打印端口号、项目名、访问地址
Spring Boot项目启动时,打印端口号、项目名、访问地址
2022-11-21 16:36:14 3062
原创 【MySQL】# [Err] 1118-Row size too large (> 8126)、Lost connection to MySQL server at ‘reading initial’
[Err] 1118-Row size too large (> 8126);Lost connection to MySQL server at ‘reading initial communication packet’
2022-11-21 16:23:12 3216
原创 【Java】# 日常开发中遇到的问题(二)
将List按照一定的大小分成多个list;判断一个日期是否在昨天10点之后;判断当前时间是否大于某个时间;上传文件到企业微信
2022-11-21 14:33:52 447
原创 【Spring Boot】# 使用AOP实现接口鉴权访问、白名单限制、记录接口访问日志、限制接口请求次数
使用AOP实现接口鉴权访问、白名单限制、记录接口访问日志、限制接口请求次数
2022-11-19 21:13:55 3583
原创 【Java】# 请求https时证书不可信 PKIX SunCertPathBuilderException:unable to find valid certification....
请求https时,证书不可信 PKIX SunCertPathBuilderException: unable to find valid certification path to requested target
2022-11-02 17:15:54 1736
原创 【Java】# 256位密钥加密错误,java.security.InvalidKeyException:Illegal key size错误
256位密钥加密错误,java.security.InvalidKeyException:Illegal key size错误
2022-11-02 15:36:26 1314
原创 【Spring Boot】# Could not transfer artifact..maven导包问题、查看和修改内置Tomcat版本、自定义启动Banner
Could not transfer artifact..maven导包问题查看和修改内置Tomcat版本自定义启动Banner
2022-10-31 17:34:28 1694
原创 【Redis】# 常见报错Unsatisfied dependency、设置密码、主从配置
常见报错Unsatisfied dependency设置密码主从配置
2022-10-29 15:26:44 2850
原创 【JS】# 关闭定时器setInterval、实现公告左右轮播、获取每月最大的天数、如何跳出forEach循环
关闭定时器setInterval实现公告左右轮播获取每月最大的天数如何跳出forEach循环
2022-10-29 14:59:23 793
原创 【MySQL】# 用户权限操作、查询的同时更新一张表、greatest()和least()函数、日期时间操作函数、解决主键自动增长2、Navicat查看数据库密码
用户权限操作查询的同时更新一张表greatest()和least()函数日期时间操作函数解决主键自动增长2Navicat查看数据库密码
2022-10-29 09:18:04 450
原创 【MySQL】# 自定义变量、一行数据与多行的转换、IF函数
和Java 一样,MySQL也允许用户自定义变量进行使用。它是一个用来存储内容的临时容器,在连接 MySQL的整个过程中都存在。定义方式:简单使用:注意:案例一:可以在给一个变量赋值的同时使用这个变量,即“左值”特性案例二:用户希望更新一条数据后,立马获取到该条数据的更新时间使用变量虽然也是需要两个SQL,但是第2个查询无需访问数据表,加快了检索时间案例三:让变量的赋值和取值发生在执行查询的同一阶段,不然可能会出现赋值后还没更新,取到原来值的问题案例四:假设需要查找某条数据,先在一个频繁访问的表查找热
2022-08-03 18:16:47 779
原创 【Java】# 在项目中使用SLF4J+Logback来记录日志
SLF4J 代表 Simple Logging Facade for Java。相当于一个门面,提供了 Java 中所有日志框架的简单抽象。日志严重程度:SLF4J 和 Log4j的关系:Logback 分为三个不同的模块,(核心代码模块),(log4j的一个改良版本,同时实现了的接口,这样如果之后要切换其他日志组件也是一件很容易的事),(访问模块与Servlet容器集成提供通过Http来访问日志的功能) 和 是 SLF4J包中的类 , 的作用是获得内部状态信息logback在启动的时候,会按照下面的顺
2022-06-10 17:48:28 513
原创 【Java】# Java易错知识点:replace、indexOf、数值包装类判断相等、数值精度问题、字符串拼接、字符串判空、mapper查询结果处理
1. replace 与 replaceAll场景:想要将 ABCABB 的 A 替换为 B一看到这个场景,我们首先想到的就是用 replace方法(会替换几个 A 呢?)如果将所有的 A 都替换为 B,可以使用 replaceAll 方法(这个没有争议)问题:replace方法会替换几个 A 呢?通过阅读源码,可以得知,replace方法会替换每一个匹配的字符串,那么它与 replaceAll 的区别在哪呢?replace,拥有两个重载的方法字符 的替换public String
2022-05-21 21:37:19 676
原创 【JavaLearn】#(28)MyBatis高级:无级联查询、级联查询(立即加载、结果映射、延迟加载)、多表连接查询、MyBatis注解、MyBatis运行原理、面试题
1. 多表查询前面的操作(MyBatis进阶),不管是用 SqlSession还是 Mapper代理,都是对单个数据库表的操作在实际开发中,经常会将来自多张表的数据在一个位置显示,比如查询并显示员工信息时,需要展示部门表的部门名称,岗位表的岗位名称等。这就要求 Employee中,要包含部门 Dept、岗位 Position的信息MyBatis是如何实现对多表的查询并组装数据呢?(此时没有DML的事)方式1:无级联查询——开发者手动完成多表数据的组装,需要执行多条 SQL语句方式2:级联查询——
2022-05-18 19:58:35 494
原创 【JavaLearn】#(27)MyBatis进阶:Mapper代理(接口绑定)、多参数传递、模糊查询、分页、自增主键回填、动态SQL、一级缓存、二级缓存
1. Mapper代理 (接口绑定)之前已经使用 MyBatis完成了对 emp表的 CRUD操作(MyBatis基础),都是由 SqlSession调用自身的方法发送 SQL命令,并得到结果缺点:不管是 selectList()、selectOne(),都只能提供一个查询参数,如果需要多个,就需要封装到 JavaBean中方法的返回值类型比较固定只提供了映射文件,没有提供数据库操作的接口,不利于后期维护基于此,MyBatis提供了一种叫 **Mapper代理(接口绑定)**的操作方式 --
2022-05-03 10:24:41 664
原创 【JavaLearn】#(26)MyBatis基础:认识框架、MyBatis环境搭建、基本CRUD、配置文件、日志管理、别名、属性文件、ThreadLocal保存sqlSession、本地DTD、模板
1. MyBatis入门是一个基于 Java 的持久层框架,将接口和 Java的 POJOs(Plain Ordinary Java Object,普通的Java对象)映射成数据库中的记录 【ORM】1.1 认识框架框架(Framework)是一个框子—约束性,也是一个架子—支撑性。框架类似于一个毛坯房,由开发人员在毛坯房基础上进行装修使用框架可以减少开发时间、降低开发难度、保证设计质量,还可以起到约束,可以降低程序员之间沟通和日后维护的成本1.2 ORMJDBC缺点:需要手动的完成面向对象的J
2022-05-01 17:45:03 462
原创 【JavaLearn】#(25)Ajax相关知识、三级联动案例、Bootstrap入门、栅格系统、排版、表格、字体图标等简单概述
1. 原生Ajax异步访问,局部刷新。Ajax 为异步操作,使用 Ajax代表摒弃了 JavaEE的转发与重定向操作Ajax的关键技术:使用CSS构建用户界面样式,负责页面排版和美工使用DOM进行动态显示和交互,对页面进行局部修改使用XMLHttpRequest异步获取数据使用JavaScript将所有元素绑定在一起Ajax简单概述1.1 原生Ajax使用步骤创建 XMLHttpRequest 对象function createXMLHttpRequest() { if
2022-04-30 17:28:21 1459
原创 【JavaLearn】#(24)Session、Cookie、ServletContext、MVC开发模式、JSP九大内建对象及四个作用域、JSTL及EL表达式、过滤器、监听器
1. session和cookie1.1 session和cookie原理HTTP协议是无状态的协议,客户每次读取 web 页面,服务器都会打开新的连接,而且服务器也不会自动维护客户的上下文信息。如何在多次请求之间共享信息呢? 服务器端如何判断一个分时段的连接是不是属于同一个客户呢?Session 和 Cookie 就是为解决 HTTP协议的无状态采用的两种解决方案Cookie:将信息保存在客户端解决Session:将信息保存在服务器端解决1.2 cookie—实现10天免登录重定向:
2022-04-17 12:21:32 723
原创 【JavaLearn】#(23)JSP相关语法、HTTP协议、Servlet介绍、Servlet生命周期、请求和响应、相对路径、转发和重定向
1. JSP简单内容1.1 JavaEEJavaEE 包含JSPJavaEE是一个开发分布式企业级应用的规范和标准。JavaEE包含之前学过的所有内容(JavaSE)真正开发中,很少使用JavaEE的原生内容,都是用 SSM 框架进行快速开发1.2 部署web项目到服务器简单的总体流程,先看一下效果。安装服务器软件Tomcat,下载解压即可创建Web项目(使用IDEA创建Java Enterprise项目),开发静态页面新版 IDEA 没有JavaEE的选项,可以在项目中按Alt
2022-04-05 17:22:08 3870
原创 【JavaLearn】#(22)jQuery介绍、选择器、事件、动画、DOM编程、操作CSS、表单验证
1. jQuery定义和特点1.1 jQuery 入门对 JavaScript 进行了封装,降低了使用JavaScript的难度,可以大幅提高开发效率(Write less, do more)jQuery 广泛使用的是 1.x 版本,兼容 ie678jQuery 实例:隔行变色(页面结构)<!DOCTYPE html><html><head> <meta charset="utf-8"> <title></tit
2022-04-04 12:18:57 1822
原创 【JavaLearn】#(21)JavaScript入门、基本语法、函数、基本对象、数组、事件、DOM和BOM
1. JavaScript入门静态网页技术HTML:超文本标记语言 显示内容CSS:层叠样式表 美化页面JavaScript:页面动态交互和特效DHTML = HTML + CSS + JavaScript,动态HTML,只是动态效果,不是动态数据jQuery:对 JavaScript 的封装EasyUI:在 jQuery 基础上对 HTML 和 CSS 的封装对于一个网页,HTML定义网页的结构,CSS描述网页的样子,JavaSc
2022-03-27 18:54:36 2278
原创 【JavaLearn】#(20)注解、元注解、模拟MyBatis注解、JDK新特性、数据库建模、UML建模
1. 注解1.1 认识注解Annotation,JDK1.5 提供的新技术作用:编译检查:比如 @SuppressWarnings, @Deprecated 和 @Override,分别代表压制警告信息、定义方法或类为过时的、重写标记替换配置文件:使用反射来读取注解信息目前大部分框架(如Spring)都使用了注解简化代码并提高编码的效率(使用注解之前使用的是xml进行配置)@SuppressWarnings("all") // 压制警告信息public class Student
2022-03-23 13:58:45 2663
原创 【JavaLearn】#(19)反射、Class类、使用反射创建对象-操作属性-执行方法、泛型与反射、反射案例
1. 反射1.1 反射引入编译时,知道类或对象的具体信息,此时直接对类和对象进行操作即可编译时不知道类或对象的具体信息,只有运行时知道,需要使用反射来实现 ==> 比如驱动的类的名称放在 XML 文件中,属性和属性值也放在XML文件中,需要在运行时读取XML文件,动态获取类的信息// 编码、编译时知道要创建哪个类的对象Dog dog = new Dog(); // 创建对象dog.age = 12; // 操作属性dog.eat();
2022-03-19 22:41:15 1526
原创 【JavaLearn】#(18)JDBC基本操作(CRUD)、使用PreparedStatement、JDBC事务、员工管理系统、Properties类、log4j框架、数据库连接池
1. JDBC 基本操作1.1 JDBC 概述是一种用于执行 SQL 语句的 Java API,为多种关系型数据库提供统一访问SUN公司制定了规范JDBCDriverManager 类:管理各种不同的 JDBC 驱动Connection 接口:连接数据库用Statement 接口和 PreparedStatement 接口:发送SQL请求ResultSet 接口:接收返回值JDBC访问数据库的步骤:加载一个 Driver 驱动创建数据库连接 (Connection)创
2022-01-08 21:32:34 2137
原创 【JavaLearn】#(17)MySQL基础知识、DML及DDL语句、外键及非外键约束、外键策略、DQL语句(单表、多表)、连接查询、子查询、索引、事务、视图、存储过程、用户权限及角色管理
1. 基础知识1.1 数据库基础知识数据:计算机可以处理的数据,字母、文字、文本、图形、音频、视频等数据库:Database,以一定格式存放数据,能够实现多个用户共享,与应用程序彼此独立的数据集合数据库管理系统:DBMS,用来定义和管理数据的软件,MySQL、Oracle、SQL server等数据库应用系统:在数据库管理系统的基础上,使用数据库管理系统的语法,开发的直接面对最终用户的应用程序,学生管理系统等数据库管理员:DBA,是指对数据库管理系统进行操作的人员最终用
2021-12-26 21:11:50 1706
原创 【JavaLearn】#(16)多线程提升训练:生产者和消费者问题、Lock锁、ReadWriteLock、BlockingQueue、volatile、线程池、线程同步练习
1. 生产者消费者扩展1.1 多个生产者、多个消费者由一个生产者、一个消费者、一个商品 ==》 扩展为多个生产者、多个消费者、多个商品最多有 10 个商品,最少有 0 个商品已经有 10 个商品后,生产者就不再生产,还要通知消费者进行消费没有商品时,消费者不再消费,还要通知生产者进行生产生产者线程(任务)ProduceRunnablepublic class ProduceRunnable implements Runnable{ private ProductFactory
2021-12-18 17:51:32 1375
原创 【JavaLearn】#(15)集合提升训练:手写ArrayList、单链表、LinkedList、HashMap、HashSet、新一代并发集合类
1. 手写ArrayList1.1 ArrayList 底层原理细节底层结构是一个长度可以动态增长的数组(顺序表)// 指向数组的引用transient Object[] elementData; // transient修饰的变量,不参与序列化数组特点:在内存中分配连续的空间,只存储数据,不存储地址信息节省存储空间(无需存储地址和数据间的关系)、索引查询效率高(其它地址可以通过首地址计算得到)插入和删除效率低,必须提前分配固定数量的空间,可能会导致空闲浪费,按照内容查询效率低
2021-12-12 23:02:01 1698
原创 【JavaLearn】 #(14)网络及分类、TCP、UDP协议、IP、Socket、TCP编程、UDP编程
1. 网络基本概念1.1 计算机网络定义:是指将地理位置不同的具有独立功能(没有网络可以独立存在的)的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统主干:计算机网络是计算机系统网络功能:资源共享、信息传递网络组成网络硬件:计算机、外部设备、通信连接网络软件:网络操作系统、网络管理软件、网络通信协议分类–按照规模:局域网 LAN城域网 MAN广域网 WAN分类–按照传输介质:
2021-09-17 23:45:54 3129
原创 【JavaLearn】# (13)多线程:线程生命周期、线程控制、线程同步、线程通信、线程池、ForkJoin框架
1. 进程和线程程序:一段静态的代码,是应用程序执行的蓝本进程:指一种正在运行的程序,有自己的地址空间动态性(正在运行的程序)并发性(同时运行)独立性(QQ 和 微信互不干扰)并发和并行的区别并行(parallel):多个 CPU 同时执行多个任务,宏观和微观来看,都是同时执行并发(concurrency):一个 CPU 同时执行多个任务(采用时间片轮转,A执行一段时间,B再执行一段时间)线程进程内部的一个执行单元,它是程序中一个单一的顺序控制流程,又被称为轻
2021-09-05 16:31:46 2426
原创 【JavaLearn】# (12)IO流、文件字节(符)流、缓冲字节(符)流、数据流、对象流、序列化
1. IO流概述在Java中,数据的输入/输出操作,以”流“(stream)方式进行,一般位于 java.io 包中数据源(data source)提供原始数据的原始媒介:数据库、文件、其他程序、内存、网络连接、IO设备流是一个抽象、动态的概念,是一连串连续动态的数据集合从源文件到目的文件,中间必须经过中转(把源数据读到程序中,再从程序输出到目的)1.1 IO流分类按流的方向(输入,输入是相对于程序(中转站)来说的)输入流:从数据源到程序(InputStream、Reader 结尾)
2021-08-22 23:07:57 2430
原创 【Java】# Java对图片进行base64编解码
1. 解码BASE64protected static String generateImage(String imgStr, String path) throws IOException { // data:image/jpeg;base64, int start = imgStr.indexOf("/"); int end = imgStr.indexOf(";"); String ext = "." + imgStr.substring(start + 1, end
2021-08-20 16:26:27 3016
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人