后端
文章平均质量分 64
hello,后端
子非我鱼
你非我,安知你知我之乐!
展开
-
java使用freemarker实现word下载
注意:当前模板其实你可以认为是我们已经想要的最终效果,而有些内容我们需要设置成动态的,所以等会儿我们需要将要动态发生的数据使用${属性名}进行替换,我这里是为了等会替换方便,知道m1,m2…….需要用那些属性替换,实际应用的时候根据个人方便进行设计。图片在xml模板文件是以bsea64的字符串显示的,将替换成${picture}我之前是为了方便替换,m1用那个字段属性替换,你们根据实际应用来。就是那些是需要动态发生的数据,我们将实体类的字段进行替换,比如。controller逻辑代码。原创 2023-02-07 17:34:17 · 8888 阅读 · 0 评论 -
java实现163或qq邮箱发送
登录163邮箱(没有注册),找到设置,然后点击POP3/SMTP/IMAP。进入到这个界面之后,这里有两个服务,我们开启第一个即可,点击开启。然后弹出以下界面,通过扫描二维码发送短信,然后点击我已发送。看到以下界面,就说明我们的服务启动成功了,点击确定。拿到授权码,然后在代码中引用。开启IMAP/SMTP服务。弹出以下窗口,点击继续开启。原创 2022-08-22 05:00:00 · 1868 阅读 · 1 评论 -
使用反射实现动态修改@Excel的注解属性
业务场景我们使用poi实现数据导出时,通常是根据@Excel(name=“xxx”)来确定列名。通常情况下这个是不会发生变动的。但这里就说少数情况,在我们需要这里根据某些情况来进行改变的时候,我们就需要用到反射。......原创 2022-07-26 14:32:49 · 4533 阅读 · 2 评论 -
java获取当月日期和周末
java获取当月日期和周末原创 2022-07-21 15:30:31 · 1990 阅读 · 2 评论 -
java实现输入指定日期距离当前已过去多少时间
输入一个目标日期,获取距离目标已经过去多少天多少时多少分多少秒原创 2022-07-06 17:43:53 · 1594 阅读 · 0 评论 -
springboot运行jar生成的日志到指定文件进行管理
我们不管是在windows还是LInux下运行jar包,都是会在控制台看到有日志的。这样直接显示肯定是不方便查看的。所以需要让控台的内容保存到某个文件下进行管理查看。可以分为正常日志和错误日志两种这种打印日志的方式,会一直在控制台一直打印,不方便管理我们将控制台日志输出到指定文件参数解释:0 标准输入(一般是键盘)1 标准输出(一般是显示屏,是用户终端控制台)2 标准错误(错误信息输出)下面演示常用的三个案例,使用之前先创建好标准日志文件和错误日志文件这里标准日志文件和错误日志文件的位置,需原创 2022-07-04 11:27:04 · 9015 阅读 · 2 评论 -
根据目标值获取一组数据中,离目标值最接近的数
算法原创 2022-06-02 17:56:06 · 484 阅读 · 1 评论 -
对HashMap的key进行排序
Hashmap排序原创 2022-06-02 17:53:39 · 3462 阅读 · 0 评论 -
判断对象属性值不为空字符串且不为null
判断对象属性值原创 2022-06-02 17:50:38 · 661 阅读 · 0 评论 -
统计list集合数值类型的最大,最小,平均,和
stream1,普通对象类型方式2,double类型方式3,含BigDecimal类型对象方式4,BigDecimal类型方式1,普通对象类型方式Apps.java@Data@EqualsAndHashCode(callSuper = false)@TableName("apps")public class Apps implements Serializable { private static final long serialVersionUID = 1L; priva原创 2022-03-22 09:52:37 · 1152 阅读 · 0 评论 -
批量上传text文件并获取所有内容
1,数据如下:2,代码实现需求如下,将上传的这两个文件的内容关联起来。lat.txt文件的第一条数据对应lon.txt文件的第一条数据,依次类推,总计(13345条) /** * 添加经纬度信息 * * @return */ @RequestMapping(value = "/addCoordinate", method = RequestMethod.POST) public Result<?> addCoordinate(H原创 2021-12-24 10:57:44 · 1011 阅读 · 0 评论 -
java实现获取text文本内容与获取整个文件夹下所有文件
获取单个文件的文本内容内容如下:代码实现: public static void main(String[] args) { String lat = ""; try { // 获取文件的所有内容 import org.apache.commons.io.FileUtils; lat = FileUtils.readFileToString(new File("C:\\Users\\Administrator\\De原创 2021-12-22 17:56:21 · 2195 阅读 · 0 评论 -
java调用高德百度API实现经纬度地址互转
经纬度转详细地址这里使用的是百度API来实现,官网地址首先创建一个应用,为了获取的AK名字可以随便命令,能通过就行,下面勾选都是默认的设置白名单提交提交完成后,就有了属于我们自己的AK(突突突…)详细地址转经纬度...原创 2021-11-25 11:18:58 · 4728 阅读 · 0 评论 -
@Transactional详解与使用示例
@Transactional@Transactional@Transactional 实现原理事务的隔离级别:事务传播行为:spring事务回滚规则:演示示例@Transactionalpackage org.springframework.transaction.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation原创 2021-10-16 20:28:36 · 6401 阅读 · 0 评论 -
java爬虫
方式一,采用jsoup方式关于jsoup的方法使用说明,想深入了解的看这个jsoupApi文档使用首先引入所需依赖: <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.13.1</version> </de原创 2021-06-23 14:39:10 · 346 阅读 · 0 评论 -
java爬虫(一) - HttpClient
爬虫入门网络爬虫简介为什么要学习爬虫下面演示httpClient方式普通 get 方式带参 get 方式普通 post 方式带参 post 方式创建连接池管理httpClient网络爬虫简介网络爬虫也叫网络机器人, 是一种可以按照一定规则自动采集互联网信息的程序或脚本, 爬虫一般分为数据采集, 处理, 储存三个部分, 从若干初始网页的URL开始抓取网页, 不断获取页面上的URL放入队列直到满足系统的一定条件停止为什么要学习爬虫可以实现私人的搜索引擎大数据时代获取数据源, 作数据分析可原创 2021-06-24 16:12:51 · 1205 阅读 · 0 评论 -
快速掌握java反射的基本使用
为什么要用反射:通过反射来操作类里面的私有方法或属性首先得获取这个类1,获取类的类对象的四种方式//方式一 通过全路径类名的字符串获取对象Class<?> clazz = Class.forName("com.myqxin.pojo.Person");//方式二 通过对象来获得类对象,这种方式,如果构造是私有的,就无法使用Class<? extends Person> clazz = new Person().getClass();//方式三 通过类名点class获原创 2020-12-23 19:44:30 · 134 阅读 · 0 评论 -
java爬虫(二)- Jsoup
爬虫入门jsoup 介绍1,准备环境,导入所需依赖2,获取网页第一个title标签的文本内容3,jsoup解析字符串|文件4,使用dom 方式遍历文档5,使用选择器获取元素6,select选择器组合使用jsoup 介绍jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。jsoup的主要功能如下:从一个URL,文件或字符串中解析HTML;使用DOM或CSS选择器原创 2021-06-25 13:38:40 · 2964 阅读 · 0 评论 -
java字符串拼接常用方式
方式一:+“+”,是java操作运算符比较常用的,也是简单直接的一直方式。 String aa = "魅言倾馨"; String bb = "子非我鱼"; System.out.println(aa+bb);方式二:StringBuilder.append()和StringBuffer.append()先有StringBuffer后有StringBuilder,两者就像是孪生双胞胎,该有的都有,只不过大哥StringBuffer,大部分方法都经过synchroni原创 2021-04-26 14:15:31 · 8788 阅读 · 0 评论 -
java爬虫(四)- WebMagic
WebMagic1. WebMagic 简介架构2,WebMagic的四个组件3,用于数据流传的对象4,导入所需依赖5,在resource目录创建一个log4j.properties配置文件,内容如下:6,抽取元素 Selectable7,简单小案例8,获取链接9,WebMagic 抽取结果10,使用Pipeline保存结果11,Spider12,爬虫配置 Site4. 爬虫分类通用网络爬虫聚焦网络爬虫增量式网络爬虫Deep Web 爬虫1. WebMagic 简介核心部分是一个精简的, 模块化的爬虫实原创 2021-06-30 16:51:37 · 1165 阅读 · 0 评论 -
java爬虫 (三)- 京东案例
1,导入数据库// 创建crawler数据库, 再创建表CREATE TABLE `jd_item` ( `id` bigint(10) NOT NULL AUTO_INCREMENT COMMENT '主键id', `spu` bigint(15) DEFAULT NULL COMMENT '商品集合id', `sku` bigint(15) DEFAULT NULL COMMENT '商品最小品类单元id', `title` varchar(100) DEFAULT NULL COM原创 2021-06-25 18:50:22 · 577 阅读 · 0 评论 -
使用Map优化双层for嵌套
双层for使用场景:一般我们用于合并两个或者多个对象。因为我们实际需要的数据,被两个或者多个对象所持有,那么我们有时就需要根据共同特征来合并成一个对象。为什么要使用Map替换双层for:通常情况下,我们对于数据量比较多的时候,如果使用的双层for,会大大降低程序运行效率,对于数据量相对较少,使用双层for嵌套,是察觉不到什么效果的。下面我为大家模拟一万条数据的情况下,合并成一个集合的效率时间1,准备数据,User.javapackage com.myqxin.jh.pojo;/** * @a原创 2020-11-06 10:58:18 · 2724 阅读 · 4 评论 -
java实现Linux服务器下载文件到windows指定目录
废话不多说。来吧,展示!1,首先找到Linux服务器上想要下载的文件这里我想要下载一个文件名为myqxin.jpg的图片,文件路径为/home/Fileimg/myqxin.jpg2,windows上想要保存文件的位置(自定义)3,执行以下测试代码package com.czxy.music.web.test.day02;import ch.ethz.ssh2.Connection;import com.czxy.music.utils.RemoteCommandUtil;/**原创 2020-10-28 10:05:17 · 13254 阅读 · 32 评论 -
java实现阿里云OSS上传下载
首先得开通OSS服务话不多说,直接上代码话不多说,直接上代码package com.czxy.music.web.test.day01;import com.aliyun.oss.OSS;import com.aliyun.oss.OSSClientBuilder;import com.aliyun.oss.model.GetObjectRequest;import java.io.File;/** * Created by zfwy on 2020/10/19. */publi原创 2020-10-22 19:12:27 · 5130 阅读 · 7 评论 -
ArrayList的数据删除及排序
今天为萌新解决ArrayList删除数据的问题,同时引起了几个问题、关于ArrayList集合删删除数据使用迭代器、排序。话不多说,直接上代码演示。1,User.javapublic class User { private int uid; private String name; private String gylx; @Override public String toString() { return "User{" +原创 2020-12-30 10:02:21 · 1359 阅读 · 1 评论 -
Java Collections.emptyList() 方法的使用及注意事项
java Collections.emptyList方法的使用及注意事项作用:好处:示例1示例2示例3总结:Collections.emptyList()方法,主要用于封装已经保存好的数据集合,不会在发生改变的情况作用:返回一个空的List(使用前提是不会再对返回的list进行增加和删除操作)好处:1,new ArrayList()创建时有初始大小10,占用内存,emptyList()不用创建一个新的对象,可以减少内存开销;2,方法返回一个emptyList()时,不会报空指针异常,如果直接返回N原创 2021-03-22 17:20:17 · 2661 阅读 · 0 评论 -
使用@RequestBody传递多个不同对象
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。示例:@RestControllerpublic class TestController{ @RequestMapping("\myqxin") @ResponseBody public RetureResult test(@RequestBody User user原创 2021-04-21 16:26:59 · 107659 阅读 · 2 评论 -
BigDecimal加减乘除次方运算及比较大小
BigDecimal需要进行初始化,这里我对比两种初始化值的结果 BigDecimal big1 = new BigDecimal(0.05); BigDecimal big2 = new BigDecimal(10000); BigDecimal big3 = new BigDecimal(-10000); // 推荐使用string初始化,不会造成精度丢失 BigDecimal strbig1 = new BigDecimal("0.0转载 2021-05-14 11:30:12 · 1749 阅读 · 0 评论 -
java中集合对象与string互转的几种方式
方式一 Gson类 ArrayList<UserInfo> userInfos = new ArrayList<>(); UserInfo user1 = new UserInfo(1L, "子", "1234"); UserInfo user2 = new UserInfo(2L, "非", "4567"); UserInfo user3 = new UserInfo(3L, "我", "6789");原创 2021-05-17 13:57:34 · 5714 阅读 · 0 评论 -
实现对java中的集合根据某个条件进行分组
准备数据UserInfo.java@Data@AllArgsConstructorpublic class UserInfo { private Long id; private String username; private String password;} ArrayList<UserInfo> userInfos = new ArrayList<>(); UserInfo user1 = new UserInfo(1原创 2021-05-18 16:06:04 · 3265 阅读 · 0 评论 -
java中注解的定义、创建和使用
1,注解概述什么是注解:Annotation注解,是一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次对比注释: 注释是给程序员看的,注解是给程序看的。(注解不会影响代码的正常执行)注解的作用: 主要用于取代 XML 和 properties 配置文件2,JDK提供的注解注解说明@Deprecated表示被修饰的方法已经过时。过时的方法不建议使用,但仍可以使用@OverrideJDK5.0 表示复写父类的方法;jdk6原创 2020-12-24 20:17:08 · 3545 阅读 · 1 评论 -
HashMap根据value获取key
方式一 HashMap<String, String> map = new HashMap<>(); map.put("1","3"); map.put("2","2"); map.put("3","1"); String key = null; for(String getKey: map.keySet()){ if(map.get(getKey原创 2021-09-10 15:27:25 · 6774 阅读 · 1 评论 -
java中常用到的工具类使用
1,判断对象是否为空的常用工具类CollectionUtils.isEmpty(集合) // package org.spingframework.util;Objects.nonNull(对象) // package java.util;2,对象间的复制 BeanUtils.copyProperties(数据源, 新对象); // package org.springframework.beans;3,关于拼接字符串去掉最后一个符号的三种方式 StringBuffe原创 2021-09-10 15:04:06 · 2895 阅读 · 0 评论 -
java实现给图片添加文字或图片水印
package com.myqxin.sx.common.utils;import lombok.extern.slf4j.Slf4j;import javax.imageio.ImageIO;import javax.swing.*;import java.awt.*;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;import java.io.OutputS原创 2021-09-03 14:22:13 · 2830 阅读 · 5 评论 -
java中的(强、软、弱、虚)引用
java中的引用类型1,强引用:2,软引用:3,弱引用:4,虚引用:引用队列(ReferenceQueue)JDK1.2 之前,一个对象只有“已被引用”和"未被引用"两种状态,这将无法描述某些特殊情况下的对象,比如,当内存充足时需要保留,而内存紧张时才需要被抛弃的一类对象。强、软、弱、虚在 JDK.1.2 之后,Java 对引用的概念进行了扩充,将引用分为了:强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)、虚引用(Phantom原创 2021-08-26 10:14:50 · 235 阅读 · 0 评论 -
JAVA开发必会的简单优化方式(易学)
开发规范1,使用普通for循环遍历,应实现减少对变量的重复计算2,使用equals进行空字符判断时,应避免空指针异常(NullPointerException)3,尽量避免不必要的创建4,尽量使用移位代替 a/b 和 a*b5,尽量确定StringBuffer的容量6,尽量使用System.arraycopy ()代替通过来循环复制数组7,如果用到双层for循环,尽量使用[Map](https://blog.csdn.net/qq_45752401/article/details/109526381?sp原创 2021-08-24 14:43:18 · 712 阅读 · 0 评论 -
springboot使用RestTemplate实现远程调用服务
RestTemplate接口提供者环境准备1,application.yml2,提供接口,供以调用服务调用者环境准备1,导入所需依赖2,application.yml3,编写RestTemplateConfig代码示例及效果1,服务调用者接口示例请求:http://localhost:9013/user/test004 发送POST请求,添加用户请求:http://localhost:9013/user/test002 发送PUT请求,修改用户请求:http://localhost:9013/use原创 2021-08-23 11:31:02 · 3001 阅读 · 0 评论 -
java实现生成各种图片验证码(算术及中文)
import com.wf.captcha.*;import com.wf.captcha.base.Captcha;import java.io.FileOutputStream;/** * Created by zfwy on 2020/11/2. * 验证码 */public class Demo01 { public static void main(String[] args)throws Exception { String path = "D:\\Mu原创 2021-08-11 16:45:28 · 4026 阅读 · 0 评论 -
java爬虫 (六) - Selenium(浏览器自动化测试框架)
1,Selenium(浏览器自动化测试框架)Selenium [1] 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),[Mozilla Firefox](https://baike.baidu.com/item/Mozilla Firefox/3504923),Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能原创 2021-07-28 16:12:27 · 1175 阅读 · 0 评论 -
使用@ControllerAdvice实现全局异常处理
1,定义统一返回封装类/** * 返回结果通用封装 */@Data//给set方法设置返回对象,返回对象就是自己本身@Accessors(chain = true)//使对象可以使用builder方式进行创建@Builder@ApiModel(value = "Result对象",description = "通用结果返回对象")public class Result<T> implements Serializable { private static final原创 2021-07-28 10:23:39 · 1765 阅读 · 0 评论