
学海漂游
Code_LiYi
你有地图吗?我在你的眼睛里迷路了。
展开
-
微信小程序报错:合法域名不在以下request合法域名列表中,请参考文档https://mp.weixin.qq.com/debug/wxadoc/dev/api
一.错误信息:合法域名不在以下request合法域名列表中,请参考文档https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-request.ht二.错误原因:没有将请求的域名添加到合法域名列表中三.解决方法:1.懒人方法:1、选择导航栏上面的设置2、点击最下面的项目设置3、将“不校验合法域名、web-view(业务域名)、TLS版本以及HTTPS证书”这一栏勾选上。...原创 2020-09-04 11:47:54 · 3037 阅读 · 0 评论 -
为什么MySQL官方不推荐使用uuid而是推荐连续自增的主键id作为主键?
在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?为了研究这个问题,我们先来建三张表。分别是user_auto_key,user_uuid,user_random_key,分别表示自动增长的主键,uuid作为主键,随机key作为主键,其它我们完全保持不变.根据控制变量法,我们只把每个表的主键使用不同的策略原创 2020-09-02 09:54:52 · 2454 阅读 · 1 评论 -
程序猿使用idea必体验的14个插件,不好用你进来锤我
自从看了第一篇推荐idea插件的文章开始,系统就开始给我推各种这类的文章,可是每次点进去都蛮失望的,因为那些动辄推荐十几二三十个插件的,几乎只有一两个好用,很多我估计写的人自己都没有亲身试过(苦瓜脸)。今天我推荐的这14款idea插件,绝对好用,而且都是经过我亲身体验,一直使用到现在的,推荐给小伙伴们。以下插件均可在Settings -> Plugins -> Marketplace中搜索下载,并重启idea生效。话不多说,直接开始推荐。1. Alibaba-Java-Coding-原创 2020-08-21 14:43:21 · 2005 阅读 · 1 评论 -
如果面试官问你什么是线程安全,你该如何回答?
线程安全不是线程的安全面试官问:“什么是线程安全”,如果你不能很好的回答,那就请往下看吧。论语中有句话叫“学而优则仕”,相信很多人都觉得是“学习好了可以做官”。然而,这样理解却是错的。切记望文生义。同理,“线程安全”也不是指线程的安全,而是指内存的安全。为什么如此说呢?这和操作系统有关。目前主流操作系统都是多任务的,即多个进程同时运行。为了保证安全,每个进程只能访问分配给自己的内存空间,而不能访问别的进程的,这是由操作系统保障的。在每个进程的内存空间中都会有一块特殊的公共区域,通常称为堆(内存)。进原创 2020-08-19 11:27:16 · 414 阅读 · 0 评论 -
springcloud使用RestTemplate进行接口调用
在微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端。我们可以使用JDK原生的URLConnection、Apache的Http Client、Netty的异步HTTP Client, Spring的RestTemplate。但是,用起来最方便、最优雅的还是要属Feign了。今天我要介绍的是Spring中自己整合的RestTemplate。什么是RestTemplate?RestTemplate是Spring提供的用于访问Rest服务的客户端,提供了多种便捷访问原创 2020-08-17 15:55:43 · 718 阅读 · 0 评论 -
springcloud报错:com.netflix.discovery.shared.transport.TransportException
1.完整报错信息:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server2.问题分析:(1)服务端报错:可能时服务端像自己注册了,需要关闭服务端向自己注册eureka: client: fetch-registry: false register-with-eureka: false service-url: defaultZone:原创 2020-08-14 10:16:43 · 15166 阅读 · 3 评论 -
SpringBoot中引用@PathVariable注解的原因及意义
在之前的springboot中restful设计风格描述以及@RequestMapping、@GetMapping @PostMapping 区别一文中,我详细介绍了restful风格的接口的写法,细心的小伙伴可能会发现,类似如下的接口地址中,都将id放在url中作为变量,那么,在实际写接口时,怎么取出这个变量的值呢?【GET】 /users/1001 # 查看某个用户信息【PUT】 /users/1001 # 更新用户信息(全部字段)【PATCH】 /users/1001 # 更新用户信息(部分字段原创 2020-08-13 09:42:39 · 6392 阅读 · 1 评论 -
springboot连接Mysql时警告:Establishing SSL connection without server‘s identity verification is not re...
1.完整错误:Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with exist原创 2020-08-12 10:47:24 · 8559 阅读 · 0 评论 -
springcloud运行报错:InstantiationException: tk.mybatis.mapper.provider.base.BaseSelectProvider
1.错误:InstantiationException: tk.mybatis.mapper.provider.base.BaseSelectProvider2.产生原因:一般为整合了tk包依赖后,在扫包时引入的包不对,导致mapper查询时报错;3.解决:错误的包:应该为:原创 2020-08-12 10:32:42 · 470 阅读 · 3 评论 -
java中的System.currentTimeMillis()是什么?时间的单位转换以及方法的使用
在开发过程中,通常很多人都习惯使用new Date()来获取当前时间。new Date()所做的事情其实就是调用了System.currentTimeMillis()。如果仅仅是需要或者毫秒数,那么完全可以使用System.currentTimeMillis()去代替new Date(),效率上会高一点。如果需要在同一个方法里面多次使用new Date(),通常性能就是这样一点一点地消耗掉,这里其实可以声明一个引用。System.currentTimeMillis() 获得的是自1970-1-01 00:原创 2020-08-10 10:02:33 · 54732 阅读 · 7 评论 -
对SQL中不同的连接类型(左外连接、右外连接、内连接、全连接、交叉连接)的深入解读
内连接典型的联接运算,使用像 = 或 <> 之类的比较运算符,包括相等联接和自然联接。内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。外连接外联接可以是左向外联接、右向外联接或完整外部联接。在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:1)LEFT JOIN或LEFT OUTER JOIN左向外连接的结果集包括 LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接原创 2020-08-07 16:54:24 · 1165 阅读 · 0 评论 -
不会吧不会吧?当代职场码农还不会用spring boot整合LDAP实现AD域认证吗!
一、什么是LDAP?(一)在介绍什么是LDAP之前,我们先来复习一个东西:“什么是目录服务?”目录服务是一个特殊的数据库,用来保存描述性的、基于属性的详细信息,支持过滤功能。是动态的,灵活的,易扩展的。如:人员组织管理,电话簿,地址簿。(二)了解完目录服务后,我们再来看看LDAP的介绍:LDAP(Light Directory Access Portocol),它是基于X.500标准的轻量级目录访问协议。目录是一个为查询、浏览和搜索而优化的数据库,它成树状结构组织数据,类似文件目录一样。目原创 2020-08-06 10:43:30 · 790 阅读 · 1 评论 -
27种编程语言的Hello World程序,这些你真的都会吗?
最近看到一条link,一个大佬去面试,面试官让他写helloworld小程序:刚看到的有点想笑,觉得这个面试官怎么这么天真。想了想突然醍醐灌顶。如果真的能够掌握超多种语言的helloworld小程序,也不可谓不为高手啊。Hello World,几乎是程序猿学习各种语言的第一个程序。在当下,只掌握一门语言是不够的,比如说 Python,语言简洁、开发快是其最大优点,但缺点是速度相对较慢,C/C++/Java 开发比较慢,但程序运行速度比较快,如果想兼具两者的优点,就要写Python的扩展,这就涉及到(C原创 2020-08-04 10:16:33 · 846 阅读 · 6 评论 -
Eclipse执行时报错:Unable to execute dex: Multiple dex files define
这个错误bai是由于错误的添加了不必要的core library或重复du添加了同一个library jar包产生冲zhi突造成的。我之前也试过dao,我是多添加了Android.jar之后报错,把不要用掉的包给去掉就好了。我本来把android.jar已经单独弄成了一个User Library了,最后还用add extenerl jar的方式添加了它,所以错了,删除多余的android.jar就ok。下面是一些网上搜集的解决办法:方法一:Eclipse->Project->去掉Build原创 2020-07-30 11:58:02 · 242 阅读 · 0 评论 -
想要在电脑端双开甚至多开微信?了解这一步你也可以
我们都知道,正常情况下,直接手动双击微信图标启动,后面启动的进程会进行全局单例模式检查,如果发现已经存在微信进程,就会直接把对应进程的微信窗口激活,定位到桌面最前面,随后自己退出。这也就导致,如果已经有一个微信启动了,你再次点击微信,还是会展示已经展示的微信页面。那么,怎么才能多开微信呢?想要知道方法,首先我们需要了解微信启动的原理。Windows平台中,进程启动后创建一个全局唯一名字的互斥体,创建成功则正常启动,创建失败则判断一下是否这个互斥体已经存在。如果已经存在则说明已经有对应程序之前启动。而原创 2020-07-24 13:37:38 · 952 阅读 · 3 评论 -
使用git时报错:connect to host github.com port 22: Connection timed out
1.报错信息$ git clone git@github.com:MaugerWu/MaugerWu.github.io.gitCloning into 'MaugerWu.github.io'...ssh: connect to host github.com port 22: Connection timed outfatal:Could not read from remote repository.Please make sure you have the correct access原创 2020-07-23 17:24:36 · 1707 阅读 · 0 评论 -
MySQL插入数据时:Duplicate entry ‘‘ for key ‘PRIMARY‘
1.错误:Duplicate entry ' ' for key 'PRIMARY'2.错误原因:出现该错误是因为表中的主键默认是不可重复的,插入的时候,你当前插入数据的主键与之前某一数据主键相同,均为引号中的内容。3.错误解决:知道原理,解决起来就不难了。只要使用不同的主键即可。...原创 2020-07-21 20:55:37 · 3715 阅读 · 0 评论 -
MySQL中批量删除语句怎么写
在使用MySQL时,往往会遇到需要批量删除很多数据的时候,这时候一条一条手动删就会相当麻烦。我们可以使用如下语句删除user表中的所有数据:DELETE FROM user WHERE state=0state是我放在user表用以表示该用户是否有效的一个字段。这样就删除了所有可用状态的数据。如果想要删除时只删掉id在某个范围的用户,可用如下语句:DELETE FROM user WHERE id in (6,7,8)...原创 2020-07-21 20:51:13 · 2116 阅读 · 0 评论 -
IDEA 报错:找不到类或符号
在使用IntelliJ IDEA时,如果在编译或者启动项目时,控制台上报了如下面的错误:错误原因:项目包没有加入资源中。解决:点击 Project Structure–》Modules选中你的项目的包文件,Marks as Sources即可。如下图 :...原创 2020-07-20 10:08:47 · 3028 阅读 · 0 评论 -
idea项目:maven管理下生成二维码
1.用到的技术:ZXing 是一个开源 Java 类库用于解析多种格式的 1D/2D 条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。其提供了多种平台下的客户端包括:J2ME、J2SE和Android。2.开始实战,首先引入依赖:<dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <ver原创 2020-07-14 12:11:16 · 918 阅读 · 0 评论 -
idea写springboot项目报错:maven引入依赖失败
1.错误:maven不能成功引入依赖,pom.xml中project标签打红2.原因:较大原因是因为网络原因导致jar下载不完全。3.解决:通过File-settings-maven处可以查看本地仓库位置,去看是否存在很多.lastupdate文件。如果有,即为jar包下载不完整。将这些文件删除,并重新import,完整下载jar包后即可。...原创 2020-07-10 17:24:20 · 3409 阅读 · 0 评论 -
SpringBoot启动时报错:Due to missing ServletWebServerFactory
1.报错:SpringBoot启动报错-Due to missing ServletWebServerFactory2.原因:查看ServletWebServerFactory类,发现其引用了org.apache.catalina包下的文件,然后查看已经被引入的jar包,发现没有这个包。3.解决:添加web启动依赖。<dependency> <groupId>org.springframework.boot</groupId>原创 2020-07-09 10:34:47 · 7172 阅读 · 0 评论 -
Maven项目xml报错:Missing artifact org.springframework:spring-jdbc:jar:3.2.4.RELEASE
1.报错:Missing artifact org.springframework:spring-jdbc:jar:3.2.4.RELEASE2.原因:项目中某个引用的jar包没有了。3.解决:右键项目,选择maven,选择update project,除默认选择外,再勾选Force Update of Snapshots/Releases,点击ok,等待maven依赖更新,更新完成后就没错了。...原创 2020-07-09 10:32:10 · 2387 阅读 · 0 评论 -
java后端给实体类设置默认值
要在后端给实体类设置默认值,有两种行之有效且快速的方法:1private String orderPrice=“0”;//定义类的属性时进行赋值2.在get/set方法中进行判断并赋值 private String orderPrice;//定义类的属性/* * get set方法 * String.trim() 返回字符串的副本,忽略前导空白和尾部空白。 */public String getOrderPrice() { if("".equals(orderPrice)|原创 2020-07-08 09:49:36 · 39498 阅读 · 1 评论 -
Git使用:fork别人的仓库并作为贡献者提交代码
想要实现这一操作,首先需要知道意思的几个名词:上游仓库,远程仓库和本地仓库,其实很简单,用下面的逻辑给你理顺:你想要fork的代码(上游仓库)---------->你fork的代码(远程仓库)---------->你电脑中的代码(本地仓库)提交代码的顺序:你想要fork的代码(上游仓库)<----------你fork的代码(远程仓库)<----------你电脑中的代码(本地仓库)每个仓库主分支是master,还可以有其它分支上游仓库的表示为 upstream,远程仓库表原创 2020-07-07 10:20:22 · 3546 阅读 · 1 评论 -
MySQL练习:用户角色多对多表创建、插入和查询
一.表描述一张用户表,一张角色表,一个用户可以对应多个角色,一个角色也可以对应多个用户,表关系为多对多,创建一个user_role表进行关联。二.建表-- 创建数据库CREATE DATABASE demo;-- 切换到指定数据库USE demo;--创建用户表create table user( uid int(11) auto_increment not null, account varchar (32) , password varchar (32)原创 2020-07-06 11:23:34 · 2325 阅读 · 0 评论 -
idea写springboot项目报错:Ambiguous mapping. Cannot map ‘xxxController‘ method
错误信息:Ambiguous mapping. Cannot map ‘xxxController’ method错误解释:这个报错是说你的xxxController中有有歧义,模糊不清,基本就是说有重复的RequestMapping了,这时检查下controller层的代码看看是否有重复的RequestMapping注解错误解决:我当时的错误原因是UserController中写了两个:@PostMapping("/add"),修改一个即可。...原创 2020-07-06 09:08:17 · 3928 阅读 · 0 评论 -
springboot中restful设计风格描述以及@RequestMapping、@GetMapping @PostMapping 区别
之前完成师傅交代的任务时,才了解到,原来Controller中可以使用更严谨的restful风格进行接口的代码编写。restful风格说白了是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。简单点说就是,使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。 分别对应 添加、 删除、修改、查询。例如传统接口url写法:http://127.0.0.1/it原创 2020-07-03 10:25:50 · 1283 阅读 · 0 评论 -
git提示:“warning: LF will be replaced by CRLF“
在windows下使用git时,在用到git add等指令时,常常会出现warning: LF will be replaced by CRLF的错误提示。1.首先,分析产生原因:由于编辑器的不同或者文件行尾的换行符在 Windows 下被替换了,一些细微的空格变化会不经意地混入提交,造成麻烦。虽然这是小问题,但它会极大地扰乱跨平台协作。其实,这是因为在文本处理中,CR(CarriageReturn),LF(LineFeed),CR/LF是不同操作系统上使用的换行符,具体如下:换行符‘\n’和回车符‘\原创 2020-07-03 10:03:51 · 926 阅读 · 0 评论 -
Spring Boot反爬虫,防止接口盗刷,一行代码搞定
今天看了业余草的一篇博文,了解了爬虫对系统的危害之后,决定了了解一下kk-anti-reptile这个组件。kk-anti-reptile 是适用于基于 spring-boot 开发的分布式系统的反爬虫组件。基于springboot开发,适用于1.x和2.x版本,不过需要使用到redis缓存技术。它实例化一个 Filter,并注入到 Spring 容器 FilterRegistrationBean 中,通过 Spring 注入到 Servlet 容器中,从而实现对请求的过滤,如过滤不通过,则拦截请求,返回原创 2020-07-02 09:53:44 · 1768 阅读 · 0 评论 -
idea报错:Module ‘xxxxx‘ already exist in project. Please, specify another name.
错误详情:idea 新建module 报错Module ‘xxxxx’ already exist in project. Please, specify another name.错误原因:idea中不允许有重名的模块出现。错误修改:File->project structure…->modules,然后选中重复的模块名并点击上面的减号,确定回去即可创建。...原创 2020-07-02 09:25:20 · 11869 阅读 · 0 评论 -
Spring Boot整合JWT:登陆生成token以实现用户认证
1.在cfg(configration)包中增加JwtCfg 类,它声明了一个@Bean ,用于生成一个过滤器类,并且对/user 链接下的所有资源访问进行JWT的验证。@Configurationpublic class JwtCfg { @Bean public FilterRegistrationBean jwtFilter() { final FilterRegistrationBean registrationBean = new FilterRegistra原创 2020-07-02 09:11:04 · 842 阅读 · 0 评论 -
springboot中注解常用的正则语句及约束加强代码健壮性
1.账号不能为空,长度为6到12位,且不能有非法字符: @NotBlank(message = "账号不能为空") @Length(min=6, max=12, message="账号长度为6到12位") @Pattern(regexp = "^[a-zA-Z0-9_-]{4,16}$",message = "账号不能有非法字符") private String account;2.对身份证合法性的验证: @Pattern(regexp = "^[1-9]\\d{5原创 2020-07-01 13:22:43 · 1759 阅读 · 0 评论 -
springboot:通过excel模板向数据库进行插入、更新操作(附excel模板)
1.首先,在pom.xml中引入依赖,该案例主要使用poi.<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.9</version></dependency><dependency><groupId>commons-fileupload</g原创 2020-07-01 13:11:25 · 604 阅读 · 0 评论 -
idea报错:Error:java: JDK isn‘t specified for module ‘xxx‘
错误:idea报错Error:java:JDK isn’t specified for module “XXXX”原因:项目中的.idea文件夹被删掉,导致项目目录出错解决:idea中关掉该项目并删除,然后重新import引入该项目,在弹出是否重写.idea选择是,这个错误就解决了...原创 2020-07-01 11:54:34 · 3609 阅读 · 0 评论 -
springboot使用HttpClient调用聚合数据第三方接口(get方法)
首先,引入依赖:<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.12</version> </dependency>然后,编写一个HttpClientUti原创 2020-06-28 13:46:44 · 1668 阅读 · 1 评论 -
springboot整合fastjson将获取到的字符串转换成对象或获取指定key对应的值
使用alibaba的fastjson之前,需要先引入依赖:<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.28</version> </dependency>获取到的result如下所示:原创 2020-06-28 13:38:37 · 1272 阅读 · 0 评论 -
Spring boot 集成redis(从本地redis安装开始)
首先安装本地redis服务redis下载地址:https://github.com/MicrosoftArchive/redis/releases 2.选择.msi文件下载下来并双击运行。点击下一步。3.同意安装协议,并进行下一步。4.将redis添加到环境变量当中去。5.添加windows防火墙,确保外界也能正常访问。6.设置redis空间,用于本地测试学习的话100MB足够了。7.安装完毕后服务端的密码默认是为空的,如果要设置密码进入redis的安装目录,找到redi原创 2020-06-24 17:12:42 · 441 阅读 · 0 评论 -
转化异常报错:java.util.HashMap cannot be cast to Model
远程服务器接口public List<Model> getlist();本地程序 List<Model> list=new xxx().getlist(); Model m=list.get(0); int id=m.getId();//这行代码报错这个时候程序报错错误内容为:java.util.HashMap cannot be cast to Model解决方法:java.util.HashMap cannot be cast to Model这个是转换异原创 2020-06-23 17:37:55 · 9779 阅读 · 1 评论 -
java写controller时报错:Connection is read-only. Queries leading to data modification are not allowed
调用insert()方法报错 Connection is read-only. Queries leading to data modification are not allowed产生原因让所有的方法都加入事务管理,类前面加了注解 @Transactional(readOnly = true)设置为只读的事务,但是增删改就会报错 Connection is read-only.解决方法在对应方法前加上如下所示的注解: @Transactional(readOnly = false) pu原创 2020-06-23 16:54:40 · 652 阅读 · 0 评论