java
文章平均质量分 84
尚硅谷铁粉
IT学习资料分享
展开
-
MySQL__数据处理之查询
1—基本 SELECT 语句*|{[DISTINCT]column|expression[alias],...}table;SELECT 标识选择哪些列。 FROM 标识从哪个表中选择。选择全部列departments;选择特定的列department_id, location_id注 意SQL 语言大小写不敏感。 SQL 可以写在一行或者多行 关键字不能被缩写也不能分行 各子句一般要分行写。 使用缩进提高语句的可读性。列的别名列的别名:..原创 2022-05-11 11:19:55 · 331 阅读 · 0 评论 -
Redis 16个常见使用场景
1、缓存String类型例如:热点数据缓存(例如报表、明星出轨),对象缓存、全页缓存、可以提升热点数据的访问数据。2、数据共享分布式String 类型,因为 Redis 是分布式的独立服务,可以在多个应用之间共享例如:分布式Session<dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-data-redi...原创 2022-05-07 08:33:28 · 116 阅读 · 0 评论 -
Scala与Java中==与equals用法总结
在Java和Scala语言中,==和equals的用法是略有不同的,如果不对比学习,容易产生困惑,现在来对比总结。一、Java当中的数据类型和“==”的含义:基本数据类型:byte,short,char,int,long,float,double,boolean。他们之间的比较,应用双等号(==),比较的是他们的值。引用数据类型:当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址(确切的说,是堆内存地址)。注:对于第二种类型,除非是同一个new出来的对象,他们的比较后的结果为tr转载 2022-05-06 15:06:39 · 383 阅读 · 0 评论 -
延时任务的几种实现方式
一、应用场景在需求开发过程中,我们经常会遇到一些类似下面的场景:a. 外卖订单超过 15 分钟未支付,自动取消b. 使用抢票软件订到车票后,1 小时内未支付,自动取消c. 待处理申请超时 1 天,通知审核人员经理,超时 2 天通知审核人员总监d. 客户预定自如房子后,24 小时内未支付,房源自动释放那么针对这类场景的需求应该如果实现呢,我们最先想到的一般是启个定时任务,来扫描数据库里符合条件的数据,并对其进行更新操作。一般来说 spring-qua...转载 2022-04-26 10:02:21 · 1710 阅读 · 0 评论 -
使用POI进行写操作
一、POI简介(Apache POI)1、什么是POIApache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。HSSF - 提供读写Microsoft Excel格式档案的功能。(.xls) XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。(.xlsx) HWPF - 提供读写Microsoft Word格式档案的功能。 HSLF - 提供读写Microsoft Po转载 2022-04-25 11:15:50 · 522 阅读 · 0 评论 -
Spring Boot 和 Spring 到底有啥区别
对于Spring和SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习SpringBoot的我当时也是一头雾水随着经验的积累、我慢慢理解了这两个框架到底有什么区别。相信对于用了SpringBoot很久的同学来说,还不是很理解SpringBoot到底和Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法!什么是Spring?作为Java开发人员,大家都Spring都不陌生,简而言之,Spring框架为开发Java应用程序提供了全面的基础架构支持。它包含一些很好的功能转载 2022-04-24 11:31:11 · 136 阅读 · 0 评论 -
使用JWT生成token
一、使用JWT进行身份验证1、传统用户身份验证Internet服务无法与用户身份验证分开。一般过程如下:用户向服务器发送用户名和密码。 验证服务器后,相关数据(如用户角色,登录时间等)将保存在当前会话中。 服务器向用户返回session_id,session信息都会写入到用户的Cookie。 用户的每个后续请求都将通过在Cookie中取出session_id传给服务器。 服务器收到session_id并对比之前保存的数据,确认用户的身份。这种模式最大的问题是,没有分布式架构,无转载 2022-04-24 11:01:16 · 13195 阅读 · 0 评论 -
Redis的五种数据结构分析
Redis本身是一个Map,其中所有的数据都是采用key:value的形式存储这里的数据类型主要是指存储的,也即是value的数据类型,key的数据类型永远都是Stringredis中value使用的数据结构有:String:字符串类型 List:列表类型 Hash:哈希表类型 Set:无序集合类型 sorted set:有序集合类型下面我们来一个一个分别来了解一下:一、String:字符串类型redis是使用C语言开发,但C中并没有String类型,只能使用指针或字符数组的形转载 2022-04-21 11:57:17 · 176 阅读 · 0 评论 -
SpringMVC 的五大核心组件
什么是SpringMVCSpringMVC是一个WEB层、控制层框架,主要用来负责与客户端交互,业务逻辑的调用。SpringMVC是Spring家族的一大组件.Spring整合SpringMVC可以做到无缝集成。特点,简单易用性能佳。为什么有了Servlet还要学SpringMVC1:Servlet的开发配置相对麻烦,servlet特别多的时候web.xml文件将会非常臃肿2:每个Servlet都只能处理一个功能,如果需要多个功能就需要开发多个Servlet,项目中存在大量Se...转载 2022-04-19 14:59:56 · 6041 阅读 · 3 评论 -
JDBC的两种开源的数据库连接池详解
JDBC 的数据库连接池使用 javax.sql.DataSource 来表示,DataSource 只是一个接口,该接口通常由服务器(Weblogic, WebSphere, Tomcat)提供实现,也有一些开源组织提供实现:1、DBCP 数据库连接池2、C3P0 数据库连接池DataSource 通常被称为数据源,它包含连接池和连接池管理两个部分,习惯上也经常把 DataSource 称为连接池1、DBCP数据源DBCP 是 Apache 软件基金组织下的开源连接池实现,该连接池依赖转载 2022-04-15 10:38:56 · 361 阅读 · 0 评论 -
分布式调度平台XXL-JOB 极简入门
1.概述分布式任务调度框架几乎是每个大型应用必备的工具。XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。目前已有多家公司接入xxl-job,包括比较知名的大众点评,京东,优信二手车,北京尚德,360金融 (360),联想集团 (联想),易信 (网易)等等....2.特性① 功能强大1、简单:支持通过 Web 页面对任务进行 CRUD 操作,操作简单,一分钟上手; 2、动态:支持动态修改任务状态转载 2022-04-08 14:30:11 · 445 阅读 · 0 评论 -
ETL工具之Talend简介与安装
1、什么是TalendTalend Open Studio是Talend(拓蓝)公司开发的一个数据集成的数据ETL软件,可以简化数据处理流程,降低入门门槛,不需要掌握专业的ETL知识,仅仅通过web界面和简单的组件拖拽就可实现数据处理。可以协助企业利用更多数据,不断提高其数据的可用性、可靠性以及有用性。BI工具Talend Open Studio功能强大,可以同步多种数据库,可以清洗、筛选、java代码处理数据、数据导入导出,内联查询多种数据库,以下简称talend。概况来说,talend特点主要有以原创 2022-04-07 17:22:18 · 14649 阅读 · 3 评论 -
MySQL8之窗口函数
作为一名数据分析师,日常工作中经常会遇到类似这样的需求:怎么样得到各部门工资排名前N名员工列表?查找各部门每人工资占部门总工资的百分比?累计求和如何计算?对于这样的需求,使用传统的SQL实现起来比较困难。这类需求都有一个共同的特点,需要在单表中满足某些条件的结果集内部做一些函数操作,不是简单的表连接,也不是简单的聚合可以实现的,通常费了大半天时间写出来一堆长长的晦涩难懂的SQL,且性能低下,难以维护。要解决此类问题,最方便的就是使用窗口函数。1.窗口函数初识MySQL从8.0开始支持窗口函数,这转载 2022-04-02 14:15:46 · 641 阅读 · 0 评论 -
尚硅谷Nginx新版升级教程,带你轻松掌握高并发系统架构
摘要:桃李春风一杯酒,江湖夜雨十年灯。“你说有没有一种可能,“你喜欢我,又不好意思说出口,“其实你可以直接说出来的,“我会让你知道什么叫心想事成。”“我喜欢你。”“做我男朋友吧?”“好啊。”“群发,有人先答应了。”“下次哈。”西风多少恨,吹不散眉弯。我偷偷碰了你一下,却不料你如蒲公英散开,此后到处都是你的模样……桃李春风,江湖夜雨,一个高冷的程序员诞生了。多年后的某一天,在拥挤的地铁上。一个男人在偷偷摸女孩的屁股,原创 2022-03-30 16:14:47 · 617 阅读 · 0 评论 -
Apache Shiro Realm实战及认证授权源码解读
之前文章我们讲解了Apache Shiro的一些基础知识,今天我们会进行Shiro Realm实战以及对Shiro认证授权源码进行解读。1. Shiro安全数据来源之Realm实战从之前章节的讲解我们了解到实际进行权限信息验证的是我们的 Realm,Shiro 从 Realm 获取安全数据,Shiro 框架内部默认提供了两种实现,一种是查询.ini文件的IniRealm,另一种是查询数据库的JdbcRealm,除此之外,我们还可以根据自身的需求进行自定义Realm,这其中有两个概念需要先了解一下:原创 2022-03-30 14:32:13 · 943 阅读 · 0 评论 -
Apache Impala架构解析及与Hive、SparkSQL的性能比较
一、Impala介绍Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。已有的Hive系统虽然也提供了SQL语义,但由于Hive底层执行使用的是MapReduce引擎,仍然是一个批处理过程,难以满足查询的交互性。相比之下,Impala的最大特点也是最大特点就是它的快速。Impala是用于处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎。 它是一个用C ++和Java编写的开源软件。转载 2022-03-29 10:10:17 · 647 阅读 · 0 评论 -
SpringBoot性能怎样优化
组件自动扫描带来的问题默认情况下,我们会使用 @SpringBootApplication 注解来自动获取应用的配置信息,但这样也会给应用带来一些副作用。使用这个注解后,会触发自动配置( auto-configuration )和 组件扫描 ( component scanning ),这跟使用 @Configuration、@EnableAutoConfiguration 和 @ComponentScan 三个注解的作用是一样的。这样做给开发带来方便的同时,也会有三方面的影响:1、会导致项目启动时转载 2022-03-25 14:22:50 · 208 阅读 · 0 评论 -
java编程开发多线程锁的8个问题分析
1. 程序代码package com.atguigu.thread;import java.util.concurrent.TimeUnit;class Phone{public synchronized void sendSMS() throws Exception{System.out.println("------sendSMS");}public synchronized void sendEmail() throws Exception{System.out.printl转载 2022-03-23 11:31:51 · 96 阅读 · 0 评论 -
「尚硅谷」java实战项目谷粒商城简介_idea_通用mapper
一、简介1、为什么我们要讲电商?因为就互联网平台来说,电商网站有很多典型的特征:访问量大 数据量大 涉及的技术多 有一定的业务复杂性 涉及支付 考虑一定安全性2、我们能从这个项目中学到什么?巩固以前知识,学会应用:要新掌握的知识需要掌握的解决方案二、 Intellij idea1、介绍IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE转载 2022-03-17 09:56:32 · 652 阅读 · 0 评论 -
java编程技术FastDFS 安装和配置
fastdfs结构说明一 、FastDFS--tracker安装1 FastDFS安装环境FastDFS是C语言开发,建议在linux上运行,本教程使用Centos7.4作为安装环境。安装gcc 依赖环境 yum install gcc-c++ -y安装libevent2.1 yum -y install libevent3 安装libfastcommon1、上传压缩包文件libfastcommonV1.0.7.tar.gz 到 /usr/local目录下,并...转载 2022-03-15 14:59:55 · 395 阅读 · 0 评论 -
java 编程技术异步通信
阅读完需:约 19 分钟 一、分布式的业务场景1 、如何高效完成各个分布式系统的协作通过消息队列来达到异步解耦的效果,减少了程序之间的阻塞等待时间,降低了因为服务之间调用的依赖风险。2、消息的弊端?如何解决?消息队列的问题在于不确定性,java培训不能绝对保证消息的准确到达,所以要引入延迟、周期性的主动轮询,来发现未到达的消息,从而进行补偿。查看二、消息队列简介消息队列,也叫消息中间件。消息的传输过程中保存消息的容器。消息队列都解决了什么问题? 异步..转载 2022-03-07 14:14:20 · 609 阅读 · 0 评论 -
分布式架构在商城项目中的应用
一、分布式架构1 分布式架构的演进1.1 单一应用架构适用于小型网站,小型管理系统,将所有功能都部署到一个功能里,简单易用。缺点: 1、性能扩展比较难2、协同开发问题3、不利于升级维护1.2 垂直应用架构通过切分业务来实现各个模块独立部署,降低了维护和部署的难度,团队各司其职更易管理,性能扩展也更方便,更有针对性。缺点: 公用模块无法重复利用,开发性的浪费1.3 分布式应用架构将各个应用通过分层独立出来,java培训可以利用rpc实现web与ser...转载 2022-03-04 11:01:29 · 492 阅读 · 0 评论 -
mybatis如何防止SQL注入
sql注入发生的时间,sql注入发生的阶段在sql预编译阶段,当编译完成的sql不会产生sql注入一、采用jdbc操作数据时候String sql = "update ft_proposal set id = "+id; PreparedStatement prepareStatement = conn.prepareStatement(sql); prepareStatement.executeUpdate();复制代码preparedStatement 预转载 2022-02-15 10:17:38 · 3681 阅读 · 1 评论 -
Mycat水平拆分的十种分片规则
配置 schema.xml在同一个 mysql 数据库中,创建三个数据库 testdb1、testdb2、testdb3,并在每个库中都创建 user 表。配置 server.xml配置 schema.xml常用分片规则一、枚举法partition-hash-int.txt 配置10000=010010=1上面columns 标识将要分片的表字段,algorithm 分片函数,其中分片函数配置中,mapFile标识配置文件名称,type默认值为0,..转载 2022-02-14 12:38:05 · 454 阅读 · 0 评论 -
使用promise封装ajax请求
首先作为前端开发人员,大家都应该使用过Ajax发送请求,目前市面上流行的发送Ajax请求的方式为以下三种:Jquery的$.ajax() 尤雨溪推荐的axios es6新出的fetch方法这三种方法的区别详见文章ajax三种方式的区别,这里不再详细解释。本篇文章主要讲工作中是如何使用ajax请求,也就是让ajax结合promise使用。1.为什么要包装ajax?小明同学说:“直接发送ajax请求不就得了,干嘛那么麻烦。”于是小明很顺畅的写下以下代码://以$.ajax发送...原创 2022-02-11 14:36:18 · 5263 阅读 · 0 评论 -
MySQL死锁分析与解决之路
们使用 MySQL 大概率上都会遇到死锁问题,这实在是个令人非常头痛的问题。本文将会对死锁进行相应介绍,对常见的死锁案例进行相关分析与探讨,以及如何去尽可能避免死锁给出一些建议。--什么是死锁 --死锁是并发系统中常见的问题,同样也会出现在数据库MySQL的并发读写请求场景中。当两个及以上的事务,双方都在等待对方释放已经持有的锁或因为加锁顺序不一致造成循环等待锁资源,就会出现“死锁”。常见的报错信息为 ” Deadlock found when trying to get lock... ”。举转载 2022-02-11 14:01:48 · 252 阅读 · 1 评论 -
springcloud五大核心组件
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。①.原创 2022-02-10 17:01:00 · 316 阅读 · 0 评论 -
Nginx入门指南
这份指南是对nginx的基本介绍,描述了用户借助nginx可以实现的一些简单任务。只支持运行在已经安装了nginx的读者机器上;如果没有安装,请参考Installing nginx 页面。这份指南描述了怎样启动和停止nginx以及重新加载配置,说明了配置文件的结构以及如何启动nginx以输出静态内容,怎样设置代理服务器 和怎样连接FastCGI应用。nginx有一个主进程和几个工作进程。主进程的主要目的是为了读取和评估配置并且维护工作进程。工作进程处理实际请求。nginx在工作进程中采用事件驱动模型转载 2022-02-09 10:24:13 · 175 阅读 · 0 评论 -
MYSQL数据库之事务
事务DCL用来控制数据库的访问,包括如下SQL语句:GRANT:授予访问权限REVOKE:撤销访问权限COMMIT:提交事务处理ROLLBACK:事务处理回退SAVEPOINT:设置保存点LOCK:对数据库的特定部分进行锁定1、事务思考:我去银行给朋友汇款,我卡上有1000元,朋友卡上500元,我给朋友转账50元(无手续费),如果,我的钱刚扣,而朋友的钱又没加时,网线断了,怎么办?1.1事务的ACID特性原子性(Atomicity):原子意为最小的粒子,或者说不能原创 2022-02-08 11:52:54 · 158 阅读 · 0 评论 -
Java常见数据结构详解
Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类:枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) 字典(Dictionary) 哈希表(Hashtable) 属性(Properties)以上这些类是传统遗留的,在Java2中引入了一种新的框架-集合框架(Collection),我们后面再讨论。枚举(Enumeration)枚举(Enumeration)接口虽然它本身不属于数据结构,但它在其他数据结构的原创 2022-02-07 11:05:11 · 641 阅读 · 0 评论 -
尚硅谷2022版Java课程体系,霸气来袭
摘要:技术为王,课比天大。尚硅谷当家学科硬核升级,全新Java课程体系重磅来袭!见证好课,一睹为快:01额外加赠架构师课加量不加价,扶上马再送一程。为进一步增强学员市场竞争力,面授结束后加赠架构师在线课。云原生实战、核心框架源码分析、JVM调优、MySQL配置优化……大咖名师轮番上阵,助你突破技术视野。西出阳关有故人,带你更上一层楼!02项目实战全面升级企业级真实项目全流程开发亿级流量高并发数据处理分布式系统全方位性能优化云原生..原创 2022-01-22 10:07:59 · 1338 阅读 · 0 评论 -
尚硅谷JavaWeb视频教程,新版升级
摘要:这是胜利的预言家在叫喊:让视频教程来得更猛烈些吧!一堆堆乌云,像青色的火焰,在无底的大海上燃烧。大海抓住闪电的箭光,把它们熄灭在自己的深渊里。这些闪电的影子,活像一条条火蛇,在大海里蜿蜒游动,一晃就消失了。——暴风雨!暴风雨就要来啦!这是勇敢的海燕,在怒吼的大海上,在闪电中间,高傲地飞翔;这是胜利的预言家在叫喊:——让暴风雨来得更猛烈些吧!江湖,似大海般内卷。我们,人人都是海燕。当码农真的需要勇气,来面对惊涛骇浪,原创 2022-01-20 13:55:57 · 193 阅读 · 0 评论 -
Redis持久化RDB和AOF区别
RDBRDB是Redis内存到硬盘的快照,用于redis持久化,创建RDB二进制文件,将存储在内存中的数据,持久化的放到硬盘中,当我们需要这些数据的时候,启动载入RDB文件,数据将会被存入内存中,其实RDB就是一种快照的方式持久化存储数据,也可以作为一种复制媒介。触发机制--主要三种方式save 同步命令(会阻塞redis) bgsave 异步命令(fork) 自动关闭自动保存配置#save 900 1 #900秒 改了一次就自动生成RDB文件#save 300 10 #300秒转载 2022-01-20 10:42:33 · 82 阅读 · 0 评论 -
Spring 框架相关漏洞详解合集
虽说是 Spring 框架漏洞,但以下包含并不仅 Spring Framework,Spring Boot,还有 Spring Cloud,Spring Data,Spring Security 等。CVE-2010-1622 Spring Framework class.classLoader 类远程代码执行影响版本:SpringSource Spring Framework 3.0.0 - 3.0.2、SpringSource Spring Framework 2.5.0 - 2.5.7转载 2022-01-19 10:48:01 · 4229 阅读 · 0 评论 -
MySQL 数据库的优化都有哪些
当有人问你如何对数据库进行优化时,很多人第一反应想到的就是 SQL 优化,如何创建索引,如何改写 SQL,他们把数据库优化与 SQL 优化划上了等号。当然这不能算是完全错误的回答,只不过思考的角度稍微片面了些,太“程序员思维”化了,没有站在更高层次来思考回答。那今天我们就将视角拔高,站在架构的角度来聊聊这一问题,数据库优化可以从哪些维度入手?数据库优化可以从架构优化,硬件优化,DB 优化,SQL 优化四个维度入手。此上而下,位置越靠前优化越明显,对数据库的性能提升越高。我们常说的 SQL 优化反转载 2022-01-18 10:13:19 · 234 阅读 · 0 评论 -
深入分析JUC之Lock接口
锁是用来控制多个线程访问共享资源的方式,在Lock之前,锁功能是靠synchronized实现的,Lock既然能出现,肯定是synchronized在有些情况下满足不了,我们来对比下两者的异同:一、实现原理synchronized,通过monitorenter/monitorexit两个指令来实现的,前者指令是在编译后插入到同步代码块开始位置,而后者指令是插入到方法结束和异常处,任何一个对象都有一个monitor与之关联,当且一个monitor被持有后,它将处于锁定状态。lock,主要通过同步器转载 2022-01-17 10:18:44 · 162 阅读 · 0 评论 -
Mybatis如何执行批量操作
Mybatis常会出现批量操作,如批量查询,批量插入,批量修改(replace into)。批量操作要比循环执行效率提升很多,这里对mybatis的批量操作做一个总结讲解。Foreachforeach:foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。它是批量操作的核心标签,下面都是foreach在不同场景的应用和写法。List-stringsel原创 2022-01-14 11:05:21 · 3706 阅读 · 0 评论 -
HashMap 面试中的 12 个点
一. 你知道哪些 map ?HashMap, TreeMap, ConcurrentHashMap, LinkedHashMap 二. HashMap 的特点是什么? 允许 Key 和Value 为 null ,不过只能有一条记录 Key 为 null 线程不安全 无序 数据结构是 数组+链表/红黑树(JDK1.8) 三. JDK1.8 中 HashMap 为什么要引入红黑树 ?链表 查询时间复杂度 O(n) , 插入时间复杂度 O(1)红黑树 查询和转载 2022-01-13 10:39:01 · 96 阅读 · 0 评论 -
Mysql的逻辑架构与存储引擎
MySQL最重要、最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理(Query Processing)及其他系统任务(Server Task)和数据的存储/提取相分离。这种处理和存储分离的设计可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式。1.连接层最上层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcplip的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户原创 2022-01-11 12:13:10 · 66 阅读 · 0 评论 -
过滤器和拦截器的区别有哪些
过滤器 (Filter) 和 拦截器 (Interceptor) 有啥区别?下边结合实践,更直观的来感受一下两者到底有什么不同?准备环境我们在项目中同时配置 拦截器 和 过滤器。1、过滤器 (Filter)过滤器的配置比较简单,直接实现Filter 接口即可,也可以通过@WebFilter注解实现对特定URL拦截,看到Filter 接口中定义了三个方法。 init() :该方法在容器启动初始化过滤器时被调用,它在 Filter 的整个生命周期只会被调用一次。「注意」:这个方法必须执行成转载 2022-01-10 10:09:08 · 70 阅读 · 0 评论