liangblog
http://edu.csdn.net/course/detail/37414
展开
-
CentOS8 64位系统 搭建内网穿透frp
通过遵循上述步骤,您可以轻松地使用 systemd 来管理 frps 服务,实现启动、停止、自动运行和开机自启动。确保替换路径和配置文件名称以匹配您的实际安装。将 你配置的域名 A 记录解析到服务器的 IP 地址 x.x.x.x。uname -a 如果存在x86_64说明是64位系统。3、使用 systemd 命令管理 frps 服务。解压文件配置客户端frpc.toml。1、创建frps.service文件。通过域名加端口的方法访问内网地址;配置文件frps.toml。原创 2024-04-08 10:34:16 · 224 阅读 · 0 评论 -
SpringBoot中解析配置文件的两种方式
在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。通过配置文件的注入根据配置文件的来源可分为两类:一类为默认的Spring Boot会自动加载的配置文件application.properties中的属性;在SpringBoot中 @Value是使用比较频繁的注解之一,它的作用是将配置文件中key对应的值赋值给它标注的属性;字符串无需加引号,如果要加,单引号’'表示转义字符不生效,双引号""表示转义字符生效。单个的、不可再分的值。原创 2023-11-24 09:18:00 · 776 阅读 · 0 评论 -
Java继承中的属性名相同但是类型不同的情况
属性:子类可以出现一个与父类的属性名一样,但类型不同的属性;(当然类型一样也可以);方法:重写方法,需要返回值也一样;方法的定义会影响到属性的json格式化;原创 2023-11-22 21:01:45 · 493 阅读 · 0 评论 -
Thread线程启动的多种方式
启动线程一共有三种方法:继承类,实现接口,匿名内部类。但是。原创 2023-11-22 21:01:11 · 192 阅读 · 0 评论 -
去掉@EnableWebMvc注解,静态页面就可以直接访问了
后来在启动类上去掉了@EnableWebMvc注解,然后就可以访问了;启动SpringBoot工程访问首页,发现页面访问不了;因为适用了sawgger3,所以需要加上一个配置;页面显示404,和上面的错误信息;一支找不到问题在哪里;原创 2023-11-04 13:26:43 · 174 阅读 · 0 评论 -
mybatis 中的<![CDATA[ ]]>的使用
在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<!使用sql语句其实和使用xml类似,不过需要注意的是,如果sql语句中部分语句没有被标签包裹着,如:where select,if等标签;[CDATA[ ]]>的;[CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容“<”。此标记用于xml文档中,来包含不被xml解析器解析的内容。原创 2023-08-11 09:55:52 · 1177 阅读 · 0 评论 -
python知识点100篇系列(10)-使用python压缩图片的两种方式
两种情况都要使用PIL模块;原创 2023-04-26 11:37:42 · 562 阅读 · 0 评论 -
Idea创建maven工程,配置多仓库。
IDEA中查看maven信息的方式是:打开File -> Settings->搜索maven即可;原创 2022-11-10 09:00:46 · 669 阅读 · 0 评论 -
使用EasyExcel实现CSV文件读写功能,顺手使用Idea创建SpringBoot工程集成swagger3
EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。分别读取两个csv文件,将一对多的读取数据为map,通过遍历第一个文件的数据列表,获取一对多属性,然后写入到一个文件中;有两个csv文件,其他一个文件是多条记录信息,另外一个文件是一条记录对应多条属性;需要注意的是,在读取有中文的csv文件时,可能会出现乱码的情况,这时候,需要调用charset函数设置字符集;使用最简单的读文件方式,声明一个内部监听类,读取所以数据到列表。更简单的读文件方式,分页读取,默认是100行;原创 2022-11-10 08:59:55 · 2227 阅读 · 0 评论 -
一个处理字符串的工具类StringEscapeUtils
最近有用到一个字符串处理类StringEscapeUtils,来自于apache工具包common-lang中,这个类能很方便的进行html,xml,java等的转义与反转义;需要注意的是,在进行反转义的时候,若字符串没有待转的字符,那么不会对字符串进行任何处理。StringEscapeUtils中都是静态方法,方便调用;这个版本还有sql转义防注入攻击的功能,在3.0版本后好像没有了就;CSV,HTML,XML,SQL,JAVA 等类型的字符串。将html的空格符号替换为空字符的功能;原创 2022-10-30 09:38:07 · 832 阅读 · 0 评论 -
IDEA运行main方法,为什么要编译整个工程?
选择 edit configurtion > Modify Options > before Lauch。每次在IDEA中导入工程后,想写一个类去测试一些数据,有时候只是写一个main方法进行简单的输出;选择 bulid > Recomplole ***下次需要运行main方法前,需要重新编译类;在Eclipse就不会有这个问题;需要注意,对部分idea版本有效。这是一个idea的默认配置;为什么会编译整个工程?重新编译后,运行既可;删除bulid即可;原创 2022-10-21 16:06:58 · 1025 阅读 · 0 评论 -
IDEA提示CreateProcess error=206, 文件名或扩展名太长。
如果命令行超出了OS限制,这个项目将无法运行您的应用程序,但是工具提示将建议配置缩短器。如果版本过低,可以考虑升级版本;或者在项目的.idea路径下的workspace.xml配置文件中,在中添加一个参数子标签即可;引起这个错误的主要原因是java启动时带的启动参数超过了window的最大长度限制导致的,如果找不到这个选项,点击 modify options选项,勾选其中的菜单既可;一般情况下可以选择最后一个选项,但是我这边选了最后一个选项后,提示了以下错误;其中的选项一共是三个,默认的选项是none;原创 2022-10-16 19:01:44 · 6912 阅读 · 0 评论 -
数据库MongoDB查询语句--持续更新
数据库可视化工具robomongo 下载地址链接:https://pan.baidu.com/s/1RjU1BXq2rXFG07Zaw5BHrQ 提取码:o1w5 ----------------------------------------------------------------------------------------模糊查询:包含字符串str : f...原创 2016-07-28 09:30:00 · 585 阅读 · 1 评论 -
使用Idea搭建App开发环境,创建安卓工程
使用Idea开发安卓App,只需要安卓SDK插件既可;原创 2022-09-23 09:22:43 · 3770 阅读 · 0 评论 -
Springboot2.3.12集成swagger2.10.5时出现的问题
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。接口变更后,能够及时准确地通知相关前后端开发人员保证接口的规范性,如接口的地址,请求方式,参数及响应格式和错误信息接口信息一致,不会出现因开发人员拿到的文档版本不一致,而出现分歧直接在接口文档上进行测试,以方便理解业务编写和维护接口文档是每个程序员的职责,根据Swagger2可以快速帮助我们编写最新的API接口文档,再也不用担心开会前仍忙于整理各种资料了,间接提升了团队开发的沟通效率。原创 2022-09-05 09:22:44 · 866 阅读 · 0 评论 -
如何将本地项目文件夹推到git上去
在本地创建了新项目,最初没有进行版本管理,只在本机运行,代码写了一半了,需要推送到git上就行版本管理。原创 2022-09-02 07:50:15 · 760 阅读 · 0 评论 -
常用命令和常见问题记录
1、 运行报错: Command line is too long. Shorten command line for xxx or also for Application default configuration.解决办法:打开程序的运行配置,把Shorten command line改为JAR manifest或classpath file;2、原创 2022-08-19 09:34:33 · 1083 阅读 · 0 评论 -
java开发实战-创建Springboot项目并发布接口
java开发实战-创建Springboot项目并发布接口原创 2022-07-02 22:57:01 · 618 阅读 · 0 评论 -
遇到问题idea maven无法加载导入子模块的依赖包
启动服务时报错,找不到的这个类是在子模块中引入的依赖包;尝试编译子模块,提示错误察觉可能是maven版本的问题;打开File-settings,搜索maven发现使用的maven版本为2;替换版本为maven3;问题解决;还有个问题,如果使用自己下载的maven版本,会出现无法导入maven工程的错误;提示如下maven版本为3.6.3这个问题建议升级maven版本...原创 2022-06-09 18:09:32 · 1744 阅读 · 0 评论 -
DefaultTextCreator谷歌验证码生成器
import com.google.code.kaptcha.text.impl.DefaultTextCreator;public class KaptchaTextCreator extends DefaultTextCreator{ private static final String[] CNUMBERS = "0,1,2,3,4,5,6,7,8,9,10".split(","); @Override public String getText() {原创 2022-03-29 16:56:33 · 1064 阅读 · 0 评论 -
Idea中springboot+maven打包指定文件到zip包中
1、添加打包插件:maven-assembly-plugin<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <appendAssemblyId>false</appendAssemblyId> &l原创 2022-03-19 08:00:00 · 1010 阅读 · 0 评论 -
Idea使用SpringBoot和maven配置热部署,试了可以用
1、热部署项目首次部署、服务启动之后,如果应用发生了变化、而且IDEA感知到了应用的变化,就自动的完成jar的 更新,无需手动再次启动服务器,就可以访问应用的更新。一下步骤,测试可用:1、添加依赖到pom.xml文件: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</原创 2022-03-18 15:34:08 · 768 阅读 · 0 评论 -
java 泛型方法的使用
定义泛型类:import java.util.ArrayList;import java.util.List;public class JwtObjectComment<T> { private T data; private boolean isUp; private long upNum; private List<AppComment> comments; //留言 public T getData() { return data; }原创 2022-01-14 16:01:03 · 481 阅读 · 0 评论 -
java操作mongodb错误:com.mongodb.MongoCursorNotFoundException: Query failed with error code -5
原因有人已经讲得很清楚了:你在用 db.collection.find() 的时候,它返回的不是所有的数据,而实际上是一个“cursor”。它的默认行为是:第一次向数据库查询 101 个文档,或 1 MB 的文档,取决于哪个条件先满足;之后每次cursor 中的文档用尽后,查询 4 MB 的文档。另外,find() 的默认行为是返回一个 10 分钟无操作后超时的 cursor。如果我一个 batch 的文档十分钟内没处理完,过后再处理完了,再用同一个 cursor id 向服务器取下一个 batch,这时原创 2021-12-08 09:23:53 · 1486 阅读 · 0 评论 -
使用easyExcel导出数据到excel表中
0、引入包:compile 'com.alibaba:easyexcel:2.2.6'1、通过模板生成xlsx文件:定义模板:组装map的列表数据:JSONArray arrays = new JSONArray(ret); for (int i = 0; i < arrays.length(); i++) { JSONObject json = (JSONObject) arrays.get(i); String id = json.getString("id");原创 2021-10-28 16:56:14 · 658 阅读 · 0 评论 -
创建Springboot工程接收acticemq消息
1、JMSFactory配置<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" ...原创 2021-09-25 14:46:00 · 425 阅读 · 0 评论 -
Centos配置JAVA_HOME
1、which java 定位JDK安装路径2、ls -lr 1输出 查看安装位置3、ls -lr 2输出 找到java的安装目录为:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_644、vi /etc/profile 配置JAVA_HOMEexport JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64export JRE_HOME=原创 2021-09-16 06:31:05 · 1844 阅读 · 0 评论 -
Springboot使用Gradle打war包
1、添加 apply plugin: ‘war’2、 添加依赖providedRuntime(‘org.springframework.boot:spring-boot-starter-tomcat’)3、修改启动类:继承SpringBootServletInitializer@SpringBootApplication@ImportAutoConfiguration({ AppAutoConfiguration.class, AppRestSwaggerConfiguration.clas原创 2021-09-15 16:11:01 · 980 阅读 · 0 评论 -
Eclipse将引用了第三方jar包的Java项目打包成jar文件时遇到的坑
用Eclipse自带的Export功能:在该项目下建立自定义配置文件MANIFEST.MF:Manifest-Version: 1.0Class-Path: lib/commons-httpclient-3.1.jar lib/commons-logging-1.1.jar Main-Class: com.main坑在这里Class-Path: 和Main-Class: 后边都有一个空格,必须加上,否则会打包失败,错误提示为:Invalid header field;-----------原创 2021-09-09 17:34:28 · 442 阅读 · 0 评论 -
使用java两种方式压缩文件到zip文件内
public static void createZipFile(String file) { try { ZipOutputStream zipOutputStream = new ZipOutputStream(new FileOutputStream(new File(file))); BufferedImage buffImg = ImageIO.read(new File("")); ZipEntry entry = new ZipEntry("test.zip");原创 2021-09-09 14:07:15 · 453 阅读 · 0 评论 -
使用HttpURLConnection发送GE,POST请求和上传文件
package com.conn.http;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputS原创 2021-09-05 11:54:09 · 516 阅读 · 0 评论 -
java基础:对象的初始化
在 Java 中,对象的创建与初始化是统一的概念,二者不可分割。构造器没有返回值,它是一种特殊的方法。但它和返回类型为 void 的普通方法不同,普通方法可以返回空值,你还能选择让它返回别的类型;而构造器没有返回值,却同时也没有给你选择的余地(new 表达式虽然返回了刚创建的对象的引用,但构造器本身却没有返回任何值)。如果它有返回值,并且你也可以自己选择让它返回什么,那么编译器就还得知道接下来该怎么处理那个返回值(这个返回值没有接收者)。一旦你显式地定义了构造器(无论有参还是无参),编译器就不会原创 2021-08-28 10:59:56 · 764 阅读 · 0 评论 -
java控制流简述
程序必须在执行过程中控制它的世界并做出选择。在 Java 中,你需要执行控制语句来做出选择。 在 Java 中,涉及的关键字包括 if-else,while,do-while,for,return,break 和选择语句 switch。while 和 do-while 之间的唯一区别是:即使条件表达式返回结果为 false,do-while 语句也至少会执行一次。在 while 循环体中,如布尔表达式首次返回的结果就为false,那么循环体内的语句不会被执行。for 循环可能是最常用的迭代形式。该循环在原创 2021-08-19 10:44:39 · 565 阅读 · 0 评论 -
解决idea低版本的日志包冲突问题
报错信息:SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/C:/Users/liang/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-simple/1.7.26/dfb0de47f433c2a37dd44449c88d84b698cd5cf7/slf4j-simple-1.7.26.jar!/org/slf4j/impl/St原创 2021-08-12 18:08:25 · 412 阅读 · 0 评论 -
JAVA中 万物皆对象
Java 是一种更纯粹的面向对象编程语言,Java 语言假设你只进行面向对象编程。对象是什么:对象是对事物的抽象。对象具有以下特性:(1)万物皆为对象。实体和概念都可以抽象为对象。例如在学校领域,对象包括学生、成绩单、教师、课程和教室等;在银行领域,对象包括银行账户、出纳员、支票、汇率、现金和验钞机等;在商场领域,对象包括客户、商品、订单、发票、仓库和营业员等;(2)每个对象都是唯一的。对象的唯一性来自于真实世界中事物的唯一性。世界上不存在两片一模一样的叶子,因此在软件系统中用来模拟每片叶子的原创 2021-08-12 11:56:34 · 950 阅读 · 0 评论 -
Java介绍:java是什么?
Java 是一门派生语言,早期语言设计者为了不想在项目中使用 C++ 而创造了这种看起来很像 C++,却比 C++ 有了改进的新语言(原始的项目并未成功)。Java 最核心的变化就是加入了 “虚拟机” 和 “垃圾回收机制”,这两个概念在之后的章节会有详细描述。此外,Java 还在其他方面推动了行业发展。例如,现在绝大多数编程语言都支持文档注释语法和 HTML 文档生成工具。Java 最主要的概念之一 “对象” 来自 SmallTalk 语言。SmallTalk 语言恪守 “对象”是编程的最基本单元原创 2021-08-05 15:52:00 · 431 阅读 · 0 评论 -
使用java获取本机ip,过滤掉回环地址127.0.0.1
import java.net.Inet4Address;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.net.UnknownHostException;import java.util.Enumeration;pub...原创 2021-07-30 08:28:00 · 927 阅读 · 0 评论 -
java的jar包指定非root用户运行
前传文章 centos相关软件的安装上传jar包自行上传新建组和用户#建个组groupadd sdjyg#建个用户加入组useradd -G sdjyg test#建用户useradd test#设置密码passwd test#已有用户加入组usermod -G sdjyg sdjy修改jar的所属用户和组chown -R sdjy:sdjyg /opt/jar-home启动jarjava -jar *.jar...原创 2021-07-20 15:58:23 · 2931 阅读 · 0 评论 -
将JAVA打包生成的可运行jar文件注册成windows服务
先记录下启动jar是添加参数的方式java -Xms200m -Xmx512m -XX:MaxNewSize=512m -jar .\agent.jarWindows Service Wrapper下载下载地址在这: https://github.com/kohsuke/winsw找到release,下载匹配你系统的exe文件。windows服务安装将下载的文件放到jar包同一目录改名字,改一个自己喜欢的名字编写xml:xml说明可以参照github上的说明,一般下面的就够用了 &原创 2021-07-19 17:53:38 · 427 阅读 · 0 评论 -
java 字符串和16进制互转
16进制数据转字符串stringpublic String hexToString(String hex) { String result = hex; if (!(hex.indexOf(":") == -1)) { String[] temps = hex.split(":"); byte[] bs = new byte[temps.length]; try { for (int j = 0; j < temps.length; j++) { // 转原创 2021-07-10 16:54:32 · 733 阅读 · 0 评论