Java
文章平均质量分 53
Java方面开发整理分析,包含Java基础部分、Spring Boot等等内容。
「已注销」
这个作者很懒,什么都没留下…
展开
-
Spring Boot中的Mybatis分页插件-pagehelper的使用
很多时候我们写DAO层接口会写一个查询所有记录的方法,但是在数据量非常大的时候,查询所有记录会巨慢无比,这时我们就需要用到分页查询。pagehelper就是个很好的分页插件。1,配置pagehelper的项目地址:https://github.com/pagehelper/pagehelper-spring-boot我们只需在Maven中加入如下依赖即可:<dependency> <groupId>com.github.pagehelper</groupId原创 2021-07-16 15:51:11 · 1460 阅读 · 3 评论 -
在Spring Boot中使用Jackson过滤不必要字段
在开发接口的时候,我们通常想要过滤一些字段不返回给前端。例如前端需要查询一个用户,但是用户User类中通常有密码字段,我们不想返回密码字段给前端,应当怎么办呢?使用Jackson依赖即可完美解决。不过首先我们需要了解一些基本知识。1,什么是序列化/反序列化我们前后端交互的对象都需要使用Serializable接口,表示这个类的实例是可以序列化和反序列化的。Java的实例一般存在于内存里面,如果想要把这个对象在网络上传输或者是存放到本地,那么必须要使这个对象序列化,也就是说序列化把一个内存原创 2021-07-16 15:16:49 · 2020 阅读 · 3 评论 -
certbot生成Let‘s Encrypt免费证书并配置到Spring Boot
Let's Encrypt是知名的免费SSL证书之一。这里分享一下今天研究的使用certbot工具生成免费ssl证书。1,连接服务器并安装certbot连接服务器,输入命令安装certbot:sudo apt install certbot2,开始手动生成证书执行以下命令:sudo certbot certonly -d "你的域名" -d "*.你的域名" --manual --preferred-challenges dns --server https://acme-v02原创 2021-05-23 12:19:11 · 1156 阅读 · 1 评论 -
Spring Boot配置SSL证书(开启https)
https会使我们的网站更加安全,起码看起来似乎好一些。这里分享Spring Boot配置https的步骤。1,去阿里云或者腾讯云等等申请SSL证书个人用户申请免费证书即可。阿里云免费证书申请方法然后在我们的控制台-SSL证书里面可以添加免费证书:然后点证书申请:根据其中指示填写完信息后,会让你给域名添加相应TXT记录,添加后即可申请。大约1-15分钟后证书申请完毕。然后在列表中点击下载按钮:下载jks格式:然后会得到个压缩包,里面有jks证书和密码。..原创 2021-05-22 13:23:18 · 3527 阅读 · 1 评论 -
在Spring Boot中配置Thymeleaf的模板路径
众所周知,Thymeleaf的模板文件默认是在项目文件夹的src\main\resources\templates目录下的。不过出于特殊需要,要修改其路径怎么办呢?在我们的项目配置文件application.properties中,添加如下配置:#Thymeleaf配置spring.thymeleaf.prefix=自定义的Thymeleaf的模板位置,jar内部以classpath:开头,外部路径使用file:开头spring.thymeleaf.suffix=自动匹配后缀spring.t原创 2021-03-01 22:57:17 · 7372 阅读 · 2 评论 -
Spring Boot实现文件上传
文件上传是网页常见的一个表单提交形式。实质上,文件上传是前端发送一个POST请求,后端接受即可。不过在Spring中怎么实现文件上传呢?一、上传单个文件1,前端先做一个建议的表单,代码如下:<form enctype="multipart/form-data" method="POST" action="/upload"> <input type="text" name="imgName" /> <input type="file" name=原创 2021-02-27 17:19:33 · 5076 阅读 · 0 评论 -
Spring Boot中常用数据库的配置
1,MySQL依赖: 添加Spring Web 添加MyBatis Framework 添加MySQL Driver 配置文件:spring.datasource.url=jdbc:mysql://mysql数据库地址:数据库端口/数据库名称?serverTimezone=GMT%2B8spring.datasource.username=用户名spring.datasource.password=密码2,Redis依赖:<dependency原创 2021-02-22 23:10:46 · 259 阅读 · 0 评论 -
Spring Boot资源文件问题总结(Spring Boot的静态资源访问,配置文件外置)
文件系统是我们开发过程中常常会接触的问题。那么在Spring框架中,文件的访问又是什么样的呢?今天在此做一个总结。1,file和classpath存放在电脑上实际位置的文件,在Spring中用file:开头表示。例如:file:a.txt 当前目录下的a.txt文件。当前路径在开发环境下即为maven项目的目录下(与pom.xml同目录下),在打包为jar文件后当前路径即为jar文件所在路径。file:D:\a.txt 表示绝对路径,在此不多赘述。而在Java内部当中,我们一般...原创 2021-02-22 22:44:14 · 1421 阅读 · 0 评论 -
Java环境变量设置总结(Java 8和Java 11+Windows和Linux)
现在使用java基本上不是8就是11版本。这两个版本设置环境变量方法有所不同,在此做一下总结。一,Windows环境1,java 8安装jdk8之后,找到jdk8安装位置(默认在:C:\Program Files\Java\jdk1.8.0_xxx,xxx表示版本号)然后右键-此电脑-属性-高级系统设置-环境变量。在系统变量一栏点击新建,变量名JAVA_HOME,值指定jdk8安装位置,保存。再新建,变量名classpath,值填入:.;%JAVA_HOME%\lib\dt.jar;%J原创 2021-02-11 16:08:33 · 1892 阅读 · 1 评论 -
Java 11使用jlink命令根据自己的程序定制精简版jre
曾经使用java 8进行开发时,做出来的程序如果要想给没安装java的人运行,就总是要把jre一起复制出来并和程序放一起。原本可能几十k的程序加上了jre就有上百M了,7z最大压缩后也有40几MB。不过java 11解决了这个问题。java 11没有jre了,可以按需生成一个精简版的jre,只需把需要用到的模块放入jre即可。配置完成jdk 11环境变量之后,就可以进行jre定制生成了。我这里有一个app.jar文件,通过jdeps命令来查看这个jar包运行需要什么模块。命令格式:jd原创 2021-02-10 20:21:28 · 1789 阅读 · 3 评论 -
Maven项目指定编译的java版本和源码编码
机器上安装了java 8和11两个版本,不过在使用Maven构建项目时为了兼容客户端,我们常常需要指定编译生成的jar包的java版本。也就是说,即使我平常使用的java 11,我仍然可以编译出java 8可以运行的jar包。修改项目的pom.xml中的<properties>节点如下:<properties> <java.version>1.8</java.version> <maven.compiler.source>原创 2021-02-10 20:04:51 · 2130 阅读 · 0 评论 -
Java中把jar包内文件资源释放出来的方法
有些时候我们需要读取并释放jar包内文件到jar包外。这样其实很简单,使用InputStream和OutputStream即可。文件在jar包中时,一般是先读取他们,再输出。以我这里为例:可以看到我这里的代码文件目录结构,代码文件夹根目录下有一个a.txt,还有一个test文件夹,其中有一个Test类和b.txt,sda.pdf。打包为jar后结构不变,如下:现在演示文件输出,把jar包内的test文件夹里面的那个sda.pdf输出,代码如下:InputStream is =.原创 2020-08-21 21:30:12 · 1638 阅读 · 0 评论 -
Maven打包时包含资源文件和源码到jar的方法
在使用Maven打包时,我们发现最终打包之后jar中只有已经编译完成的代码class,资源文件都没了,如果有资源文件需要打包进jar的话,直接打包jar无法正常工作。其实,在pom.xml中配置一下<build>节点即可实现把资源打包进来的操作。在<build>中添加以下内容:<resources> <resource> <directory>${basedir}/src/main/resources</d...原创 2020-08-20 23:10:15 · 2565 阅读 · 0 评论 -
发布自己的jar包到Maven中央仓库
Maven仍然是目前使用人数很多的、非常受欢迎的项目构建工具。其方便之处在于:我们只需在配置文件pom.xml中引入依赖和插件,他就可以自动从中央仓库下载、配置并运行程序。不过假设我们自己写了一个jar外部包,想放到maven中央仓库并使得别人和我们自己使用的时候更加方便,应该怎么做呢?一,去sonatype网站注册账户并申请工单 进入issues.sonatype.org,注册一个账户,然后点击“新建”按钮创建一个工单:如下图,项目选择:Community S...原创 2020-08-19 10:44:04 · 1396 阅读 · 1 评论 -
如何创建一个窗口,让主窗口等获取到弹出窗口的返回值后再向下执行?
在使用电脑的过程中,我们发现有些程序有它的子窗口,子窗口会让你选择东西或者输入数据,你在子窗口选择或者输入数据之后,子窗口关闭,主窗口才会继续执行。 就像你用qq传文件的时候,点击“发送文件”按钮,会弹出让你选择文件的窗口,你选好了文件点击确定之后,qq才会进行下一步——发送文件。如果是java我们要如何实现呢? 我对这个进行测试。我新建了一个窗...原创 2020-03-20 22:57:16 · 749 阅读 · 0 评论 -
Java中做一个带有图标和文字的JList列表(类似文件管理器列表或者QQ好友列表)
这几天研究了一下JList,发现自定义它的样式真的是很难的过程。不过在此我想把我研究的东西整理并分享一下,希望对大家有所帮助。一、列表基本操作 首先我们来创建一个JList对象,并给它加一个滚动条:JList jl=new JList(); //实例化JList对象JScrollPane jsp=new JScrollPane(); ...原创 2020-03-20 13:04:17 · 2335 阅读 · 1 评论 -
Java中Process执行命令导致GUI界面无法刷新问题解决
今天为了测试写了个小程序,一个小窗口,点击按钮时会复制一个大文件,通过Process执行cmd命令,然后界面显示“正在复制”,复制完了读取文件大小。先开始我在按钮事件里面这么写:JButton b=new JButton("点击启动");b.addActionListener(new ActionListener() { public void actionPerformed(A...原创 2020-02-16 21:24:05 · 812 阅读 · 0 评论 -
怎么在Linux搭建一个可以装mod的Minecraft服务器(我的世界)
我的世界多人联机、协作是最有意思的玩法。那么怎么搭建一个可以装mod的我的世界服务器呢?需要的软件及工具:1,xshell和xftp(远程服务器连接与文件传输):官网下载2,我的世界服务端核心:https://s3.amazonaws.com/Minecraft.Download/versions/版本号/minecraft_server.版本号.jar(例如我要下载1.7...原创 2020-02-03 15:43:56 · 12666 阅读 · 44 评论 -
Java做一个可以在窗口里面拖动的窗口组件
日常使用的很多软件,里面的一些组件(图片、按钮等等)可以在窗口里面拖动。这是怎么实现的呢?下面我就来分享一下Java的可拖动组件演示。 我们主要要用到Java里面的鼠标事件。 首先要弄清楚,Java中,我们的屏幕内有一个坐标系。其中屏幕的左顶点为(0,0),自左向右为x轴正方向,自上而下为y轴正方向,例如这个屏幕截图: 我们常用的JFrame方法setLo...原创 2020-01-28 18:52:25 · 3007 阅读 · 0 评论 -
Java-用简单方法创建透明窗口
java中创建透明窗口,不仅可以达到自定义窗口形状的效果,甚至还可以用于显示动画,今天我来介绍一下如何最简单地创建透明窗口并显示我们的窗口组件。import java.awt.*;import javax.swing.*;public class Gif { public static void main(String[] args) { JFrame jf=new JFrame(...原创 2018-09-03 01:59:13 · 3380 阅读 · 3 评论 -
Java-创建一个自定义窗口,扁平化界面
众所周知,Java的默认窗口使用的是系统默认样式,那么我们如何自己定义样式使其更好看呢?下面我就来分享一下如何自定义样式。 效果: 首先准备好我们的背景,按钮贴图:然后开始。先创建两个图片对象,把图片资源文件加进去。ImageIcon background = new ImageIcon("res\\bg1.png"); // 创建一个名为bac...原创 2018-09-06 18:13:00 · 6707 阅读 · 4 评论 -
Java制作一个简易的悬浮窗/PPT悬浮窗
电脑日常使用过程中,我们常常可以看到许多软件有悬浮窗,方便快捷,甚至有的还可以在PPT里面使用。这是怎么实现的呢?今天我就来分享一下Java制作一个简单悬浮窗的方法,可以在PPT里面使用。 运行效果: 其实悬浮窗制作很简单,最重要的一点就是需要它总在最前显示,只需要使用JFrame类里面的一个方法即可实现;然后就是要去掉窗口边框,并设置窗口透明方便后面添加我们的贴图...原创 2018-10-02 15:33:53 · 6722 阅读 · 0 评论 -
Java两种延迟方法及区别
java中有两种常用的延迟方法。一是使用通过实例化Timer对象实现,如下:Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { System.out.println("延迟1.5s"); //延...原创 2018-09-23 03:12:20 · 14889 阅读 · 1 评论 -
Java中输入输出txt的方式
在Java中有时候需要输出内容到文本文档或读取文本文档内容。今天我来介绍一下使用BufferedWriter和BufferedReader来进行简单地操作。读取文件:File f=new File("C:\\a.txt");//指定文件FileInputStream fis=new FileInputStream(f);//创建输入流fis并以f为参数InputStreamReade...原创 2018-05-24 15:09:11 · 5471 阅读 · 0 评论