
Java
文章平均质量分 90
知否技术
这个作者很懒,什么都没留下…
展开
-
来来来,咱们聊一下 JWT
1. 为什么要用 JWT ?认证在谈起 JWT 之前,我们先了解一下什么是认证。在登录淘宝、微博等软件或者网站之前,我们需要通过填写账号和密码来校验身份。认证是用来验证用户身份合法性的一种方式。那我们登录成功之后,网站如何记录我们的身份信息呢?前面我们在学习 servlet 的时候,知道了传统的系统主要是通过 session 来存储用户的信息。session 将用户的信息存储在服务端。但是随着用户数量的增多,服务端就需要存一堆用户的认证信息,这种方式会不断增加服务端的压力。如果是分布式系统,原创 2022-05-15 18:24:26 · 339 阅读 · 0 评论 -
MybatisPlus最全使用指南
1. Mybatis 存在的痛点我们知道 MyBatis 是一个基于 java 的持久层框架,它内部封装了 jdbc,极大提高了我们的开发效率。但是使用 Mybatis 开发也有很多痛点:每个 Dao 接口都需要自己定义一堆增删改查方法。/** * @Desc: UserDao 接口 * @Author: 公众号:知否技术 * @date: 下午7:43 2022/5/7 */public interface UserDao { // 获取所有用户信息 List<原创 2022-05-15 18:23:16 · 16405 阅读 · 4 评论 -
2022,不会SpringBoot,后端真的不好找工作
1. SSM 框架存在的痛点前面我们学习了 SSM 框架的整合,整合之后感觉还挺好用,实际上有很多痛点。痛点一:只要整合一个框架,就要写一个配置文件,简直太麻烦了。痛点二:需要的 Maven 依赖太多了,那么长一串,记性差的根本记不住。痛点三:每次启动项目都需要配置 Tomcat,如果 Tomcat 有问题,项目就起不来了。简直竹篮打水一场空。那有没有这样一个框架:1.不需要很多配置2.不需要很多 Maven 依赖3.不需要配置 Tomcat创建完一个 WEB 项目用不了5分钟,并且原创 2022-05-15 18:20:53 · 1456 阅读 · 1 评论 -
关于 SSM 整合,这篇文章我写的很用心
1.邂逅 SSM前言记得大二上学期老师第一次讲 SSM 整合的时候,自己竟然浑浑噩噩睡过去了。平时上课不好好听讲,后来听说期末要交大作业了,自己被迫只能去网上找资料自学。不对。。。少打个S,不过这真的是我第一次搜 SSM 的资料,当时室友还说我变态。不过从那天起我带着尴尬的表情和搞定期末大作业的决心把 SSM 框架的整合认真研究了一遍。SSM 框架SSM 框架 是 Spring、SpringMVC、MyBatis 的缩写,这三个框架整合起来适用于搭建各种大型的企业级应用系统。这个原创 2022-05-15 18:20:11 · 463 阅读 · 0 评论 -
最全的SpringMVC 知识,终于让我找到了
1. 为啥要学 SpringMVC?1.1 SpringMVC 简介在学习 SpringMVC 之前我们先看看在使用 Servlet 的时候我们是如何处理用户请求的:配置web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta原创 2022-05-15 18:19:17 · 438 阅读 · 0 评论 -
不会 MyBatis?看这篇文章就对了,吐血推荐
1. 为啥要用 MyBatis我们作为一个程序员,主要工作归根结底就是和数据打交道。而使用 java 操作数据库的原始方式就是 JDBC。先看看使用 JDBC 方式是如何操作数据库的:// 1. 加载配置文件Properties pro=new Properties();pro.load(new FileReader("resource/jdbc.properties"));// 2. 获取配置文件中连接数据库的信息String url=pro.getProperty("url");Stri原创 2022-05-15 18:18:03 · 552 阅读 · 0 评论 -
深入浅出Spring,原来以前白学了
1. 为啥要用 Spring张三是一个编程小白,他每次在 service 层写代码都要自己 new 一堆 Dao 接口的实现类。public class ProjectServiceImpl implements ProjectService { UserDao userDao = new UserDaoImpl(); ProjectSectionDao projectSessionDao = new ProjectSessionDaoImpl(); ProjectDao pro原创 2022-05-15 18:16:23 · 361 阅读 · 0 评论 -
Maven最全使用指南,都在这里了
张三最近做了个项目,但是这个项目需要 30 多个 jar包。他只能从网上一个个去下载,下载完还要一个一个手动导入。好不容易搞完了,结果却发现有些 jar 包版本竟然不兼容,搞了一天也没搞好。真的是“豆腐拌腐乳-越搞越糊涂!。”经过一个多月的疯狂加班,这个项目终于做好了,张三部署好测试环境之后就交给测试人员李四了。张三想着终于能好好摸鱼了,谁知道李四工作特认真,一会就测出来一堆 bug。张三只能立即去更改 bug,改完还要手动编译、打包项目。最多的时候一天打包了十几次,可把张三累坏了。那如何避免上面原创 2022-05-15 18:14:51 · 4488 阅读 · 0 评论 -
在IDEA中使用Debug,真的太爽了
1. Debug 简介为何要用 Debug?眼看 12 月马上就要过去了,张三正在大学宿舍床上躺着,此刻的他既开心又发愁。开心的是马上就能和女朋友一起跨年了,发愁的是自己 java 期末大作业一堆错误。张三英语不好,看不懂控制台的报错语句,所以越想越烦躁。突然,张三好像有了灵感,打开 IDEA 兴奋地敲了起来。正参与五黑的室友见状,不免有些好奇,都跑去看他的电脑:原来张三正在复制粘贴一堆打印语句。一室友实在看不下去了,问他:“你调试程序为啥不用 Debug ?”“你写这么多 system 语原创 2022-05-15 18:13:22 · 1992 阅读 · 1 评论 -
IDEA这样配置,好用到爆炸
1. idea 简介IDEA 全称 IntelliJ IDEA ,是 JetBrains 公司 使用 java 编程语言开发的集成环境, 这家公司总部位于捷克共和国的首都布拉格。公司旗下还有其它产品,例如 WebStorm、PyCharm、PhpStorm、DataGrip 等。IntelliJ 在业界被公认为是地球上最好的 java 开发工具。尤其在代码自动提示、重构、版本工具、JUnit、代码分析等方面的功能可以说是超常的。1.1 版本区别 Ultimate:旗舰版,收费(原创 2021-10-20 22:19:04 · 2554 阅读 · 0 评论 -
学会了 eclipse , 班里女生都来找我玩!
1. eclipse 简介eclipse 是全世界范围内有名的集成开发环境,主要用来开发 java 程序。它就像士兵手中的 AK47,一出场就赢得了广大程序员的芳心。对了,在使用 eclipse 之前要一定要先安装 jdk!!!1.1 官网最新下载地址https://www.eclipse.org/downloads/但是!但是!但是!官网最新版本的 eclipse 需要最低版本的 jdk 是 jdk11,然而现在 jdk11 以上版本都要收费(后面可能会免费吧),所以我还是建议大家用与原创 2021-10-15 01:21:56 · 368 阅读 · 0 评论 -
导入导出这么丝滑,你用的是 EasyPoi 吗?
丝滑的 EasyPoiPOI:用来处理 Excel、Word 等文件的技术。EasyPoi: 让没有接触过 POI 的人也能方便的写出 Excel 的导入导出功能。说白了就是用了 EasyPoi,文件的导入导出变得 so easy!官网地址:http://easypoi.mydoc.io/1. SpringBoot整合EasyPoi引入依赖<dependency> <groupId>org.projectlombok</groupId> &l原创 2021-05-25 12:59:57 · 823 阅读 · 1 评论 -
哎我就不信了,Java IO有这么难吗?
1. IO流1.1 IO流简介I 是 input,表示输入。o 是output,表示输出。流指的就是数据的传输。Java IO 的字面意思:通过 java 编程语言实现数据的输入和输出。在这里指的就是文件的读和写操作。那么,关于读,数据从哪里来?关于写,数据写到那里去?读:将数据从硬盘加载到内存中,例如通过 java 程序查看 txt 文档。写:将数据从内存写入到硬盘中,例如通过 java 程序给 txt 文档添加几个字符。所以呢,读写操作就是数据在内存和硬盘之间的传输。1.原创 2021-05-24 09:58:25 · 338 阅读 · 0 评论 -
人均年薪50万以上,docker到底是什么?为什么这么火?
为什么要使用Docker?场景一:公司双十一买了一堆服务器,技术总监让你给它们一个个都配置上JDK、Mysql、Redis等软件环境。你心里小声嘀咕:“这总监不讲武德!“然后你开始一个个去安装、配置,结果搞了一天都没有配置好。到了晚上10点,总监对你说:“你到底行不行?我劝你好自为之!“场景二: 你和公司同事共用一台服务器进行开发,中间突然你俩的程序都挂了。同事很恼火,拿着键盘指着你说:“怪不得总监昨晚劝你好自为之,我看你就是不行!”你一听不行,脑子就炸了!“男人不能说不行啊!“你上去就给了他.原创 2021-02-03 18:30:19 · 669 阅读 · 0 评论 -
Linux系统安装JDK
今天给大家讲一下如何在Linux系统上安装JDK,话不多说,盘它!01.Linux 卸载 JDK1.首先输入java -version 查看 linux 系统是否已经安装 jdk[root@ecs-1d22-0002 ~]# java -versionjava version "1.8.0_131"Java(TM) SE Runtime Environment (build 1.8.0_131-b11)Java HotSpot(TM) 64-Bit Server VM (build 25.13.原创 2021-02-03 18:25:42 · 316 阅读 · 1 评论 -
学会lambda表达式,能让你少敲1000行代码!
01.什么是lambda表达式1. 函数式接口在聊起lambda表达式之前,我们不得不提起函数式接口:一个接口只包含唯一的方法,那么它就是函数式接口。例如:public class LambdaTest { public static void main(String[] args) { Lambda lambda=new SonLambda(); lambda.say(); }}//1.一个接口只包含一个方法就是函数式接口interface.原创 2021-02-03 18:13:52 · 474 阅读 · 1 评论 -
MongoDB:我知道你很爱我
为什么要使用 MongoDB张三大学毕业设计题目是《XXX博客论坛》,他在存储用户评论的时候遇到了一个问题:这些评论数据量非常大,但是价值不是很大,如果存储在 MySQL 数据库中就会浪费性能。李四在工作过程中遇到一个需求:在审批模块中,每一个公司都可以自定义请假类型,例如调休、出差等。相当于给每个公司维护一个自己的数据字典。张三的痛点是存储的博客评论数据量大但是价值不大,不适合使用Mysql存储。李四的痛点是需要维护一个数据字典,不适合用关系型数据局。为了解决张三和李四的痛点,这个时.原创 2021-02-03 17:47:55 · 360 阅读 · 0 评论 -
cookie显示上一次登录时间
import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cook...原创 2020-01-08 10:27:42 · 619 阅读 · 0 评论 -
转发与重定向比较
重定向的特点:redirect1. 地址栏发生变化2. 重定向可以访问其他站点(服务器)的资源3. 重定向是两次请求。不能使用request对象来共享数据* 转发的特点:forward1. 转发地址栏路径不变2. 转发只能访问当前服务器下的资源3. 转发是一次请求,可以使用request对象来共享数据...原创 2020-01-06 22:30:39 · 269 阅读 · 0 评论 -
Spring JDBC------JdbcTemplate
Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发步骤:1. 导入jar包2. 创建JdbcTemplate对象。依赖于数据源DataSource JdbcTemplate template = new JdbcTemplate(ds);3. 调用JdbcTemplate的方法来完成CRUD的操作* update():执行DML...原创 2020-01-06 17:15:23 · 233 阅读 · 0 评论 -
数据库连接池—druid
数据库连接池Druid1 导入jar包2 定义配置文件:druid.propertiesdriverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/db1username=rootpassword=123456initialSize=5maxActive=10maxWait=30003 ...原创 2020-01-06 16:41:41 · 436 阅读 · 0 评论 -
JDBC事务管理
package Demo;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;public class Test { public static void main(String[] args) { Connection con...原创 2020-01-06 14:13:14 · 292 阅读 · 0 评论 -
三层架构与MVC
三层架构:视图层(Controller) 业务逻辑层(Service) Dao层 操作数据MVC模型:原创 2019-03-10 21:58:31 · 259 阅读 · 0 评论 -
JAVA中的接口
接口的特点和接口的继承:接口的特点:① 没有构造方法,也不能显示定义构造器,不能实例化。② 接口只能继承接口,不能继承类,且接口支持多继承(类是单继承关系)。 [修饰符] interface 接口名 extends 接口1,接口2③ 接口里的方法方法全是抽象的,默认修饰符是public abstract。④ 接口里的字段全是全局静态常量,默认修饰符是public sta...原创 2018-03-26 15:24:28 · 278 阅读 · 0 评论 -
JDBC连接数据库
jdbc.properties文件url=jdbc:mysql://localhost:3306/db1user=rootpassword=123456driver:com.mysql.jdbc.DriverDBUtils工具类package Demo;import java.util.Properties;import java.io.FileNotFoundEx...原创 2018-03-23 15:37:19 · 255 阅读 · 0 评论 -
JAVA中static关键字讲解
static关键字: 作用:是一个修饰符,用于修饰成员(成员变量,成员方法) 1.被static修饰后的成员变量只有一份 2.当成员被static修饰之后,多了一种访问方式,除了可以被对象调用之外,还可以被类名直接调用(类名.静态成员) static关键字的特点: 1:随着类的加载而加载 2:优先于对象的存在 3:被所有的对象多共享的 4:可以直接被类型所调用 方法注意事项: 1...原创 2018-03-19 16:30:57 · 354 阅读 · 0 评论 -
java中equals和==的区别
equals和==的区别 变量:==用于比较变量的值是否相等 例如 int a=1; int b=2; 比较结果返回false int a=1; int b=1; 比较结果返回true 对象:==用于比较对象的内存地址是否相同 例如:Person a=new Person(); Person b=new Person(); 比较结果返回false,因为创建了两...原创 2018-03-22 18:20:32 · 238 阅读 · 0 评论 -
String类
String类 我们之前学过的char类型只能表示单个字符,不能表示由多个字符连接而成的字符串。在Java语言中将字符串当做对象类处理,可以通过java.lang包中的String类来创建字符串对象。1.1.1创建字符串在Java语言中字符串必须包含在一对双引号(” ”)之内.创建字符串的常用构造方法: String a=new String(“hello原创 2017-10-24 22:35:36 · 411 阅读 · 0 评论 -
java中的包装类
1: Java 是一种面向对象的语言,java通过类把数据与方法连接到一起。相信大家对java中的基本类型特别熟悉,例如 int、float、boolean、char 等。基本数据类型是不具备对象的特性的,比如基本类型不能调用方法.为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型了。 2:Ja原创 2017-10-24 12:57:46 · 350 阅读 · 0 评论 -
Eclipse开发环境设置
1:WorkSpace 字符集 UTF-82: JDK 版本3:Tomcat 版本 设置Tomcat默认字符集: 修改Server.xml URLEncoding='UTF-8'原创 2019-03-10 22:12:12 · 269 阅读 · 0 评论 -
代理
静态代理举例:代理律师,不修改目标类,增强目标类。需要自己定义代理类代码:一个方法返回值rsult是‘abc’,现在不需要改变该类,输出‘ABC’ 代理类与目标类实现同一个接口,处理 不一样的业务动态代理工具创建代理类...原创 2019-03-12 07:44:01 · 295 阅读 · 0 评论 -
对接小程序接口
@Api(name = "wholesale.customer.lists") public Object getList(WholeSaleCustomerRequest request) throws Exception { String tips = "批发客户列表"; PagerResult<Map<String, Object>> result = n...原创 2019-03-08 11:22:13 · 601 阅读 · 0 评论 -
导入批发客户
/** *导入批发客户 */ @RequestMapping(value = "impt/data", method = { RequestMethod.POST }) @ResponseBody public Object imptDetailData(HttpServletRequest request,String storeId, MultipartFile file) {...原创 2019-03-27 12:00:17 · 246 阅读 · 0 评论 -
如何给网站添加ico图标
<link rel="shortcut icon" href="${base}/static/favicon.ico" type="image/x-icon" />原创 2019-04-02 19:12:06 · 476 阅读 · 0 评论 -
Debug
快捷键:F11单步执行:F6断点跳跃:F8原创 2019-04-22 22:31:32 · 226 阅读 · 0 评论 -
Java多线程
进程:一个进程包含多个线程我们可以把一个程序分成多个代码块,每个代码块交给一个线程去执行。线程创建: 创建一个Thread类,或者一个Thread子类的对象 创建一个实现Runnable接口的类的对象线程的状态• 新建(New)• 可运行(Runnable)• 正在运行(Running)• 阻塞(Blocked)• 终止(Dead)线程的运行是随机的...原创 2019-04-22 23:22:34 · 214 阅读 · 0 评论 -
JAVA数据转换(持续更新中)
package blog;import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Arrays;im...原创 2019-05-02 17:34:20 · 321 阅读 · 0 评论 -
Cookie与Session
1 会话技术:从打开某个网站到关闭这个网站的过程称为一次会话会话分为Cookie和Session:Cookie:数据存储在客户端,减少服务器端的压力。安全性不好,客户可以清除Cookie。Session:数据存储在服务器端,安全性能相对较好,增加服务器的压力。2 Cookie的会话流程3 Cookie的创建和发送4 Cookie常见API5 获取...原创 2019-05-04 23:08:44 · 261 阅读 · 0 评论 -
JSONUtil
package com.jwsaas.utils;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.commons.lang3.StringUtils;import or...原创 2019-05-08 13:49:34 · 537 阅读 · 0 评论 -
Java集合
Java集合总结java.util的包中提供了一些包装类,用来存放对象。与数组不同的是,集合的长度可变。常用的集合类有list集合、set集合、map集合。list集合和set集合都继承collection接口,各个接口还有自己的实现类。List集合:继承collection接口,里面的元素允许重复,并且有序。List集合的常用实现类有ArrayList原创 2017-10-21 16:08:29 · 269 阅读 · 0 评论