
Java
小z啊
这个作者很懒,什么都没留下…
展开
-
HTTP Post请求响应报文乱码(Accept-Encoding:gzip)
今天在发送HTTP Post请求时,响应报文有时正常,有时乱码,也不是中文乱码,响应报文整个乱码, 最开始以为是InputStreamReader读取的时候字符编码导致,然后使用utf-8: InputStreamReader isr = new InputStreamReader(is, "utf-8"); 但是还是乱码,然后又想到可能是请求头的字符编码不正确导致,可是请求头也是utf-8,也不是这个 问题导致的,经过抓包发现,响应报文体乱码的请求头比不乱码的报文请求头多个属性:Acc..原创 2021-11-16 15:48:11 · 5591 阅读 · 0 评论 -
Java8 forEach、filter、map(分组、过滤、排序)
1.1 forEach// 分组Map<String, List<Menu>> map = new HashMap<>();JSONObject json = new JSONObject();menuList.forEach(menu -> { if (json.containsKey(menu.getId())) { ((List<Menu>)json.get(menu.getId())).add(menu);原创 2021-06-18 14:37:18 · 2160 阅读 · 0 评论 -
mybatis+oracle使用笔记
1、批量插入(mysql和oracle的批量插入sql语法有区别)<insert id ="insertBatch" parameterType="java.util.List" useGeneratedKeys="false"> insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(SYSTEM(id, name)) */ into USER (<include refid="Base_Column_List"/>) select &原创 2021-05-28 18:11:45 · 273 阅读 · 0 评论 -
springboot+mybatis-plus实现oracle自增序列
第一种方法:1、注入bean keyGenerator(使用@Bean(name="keyGenerator_")是防止微服务架构时bean冲突)@Bean(name="keyGenerator_")public IKeyGenerator keyGenerator() {return new OracleKeyGenerator();}2、实体类设置:实体类名上注解@KeySequence(value = "序列名", clazz = Integer.class)设置主键(主键生成策略必原创 2021-05-28 18:02:37 · 1730 阅读 · 1 评论 -
springboot依赖注入失败问题
Controller中的private方法无法访问到@Autowired的bean对象:使用反射调用方法,在被调用方法内调用@Autowired注解的bean报错null,经查阅资料后发现该问题是动态代理导致的,当运行这个方法时,注入的对象总是报null,经排查后,此方法是用private修饰的,改为public修饰后就OK了。...原创 2021-05-28 16:28:18 · 1327 阅读 · 0 评论 -
swagger注解(@ApiModelProperty)实体类swagger-ui不显示问题
实体类首字母必须小写,否则swagger-ui界面显示对象的参数说明不显示、是否必输属性即使指定必输也是显示false;比如数据库中字段为B_WORKDAYFLAG,使用mybatis-plus代码生成器工具生成后是bWorkDayFlag,此时可以在mybatis-plus代码生成器中设置生成实体类时去掉字段前缀,如:strategy.setFieldPrefix("B_", "C_", "D_", "VC_"); //生成实体时去掉字段前缀*** 代码***public static void原创 2021-05-13 18:04:38 · 7690 阅读 · 0 评论 -
SpringBoot多模块项目启动时子模块的bean未注入
1、 SpringBoot多模块项目启动时子模块的bean未注入到Spring IOC容器导致无法访问报错404:父工程下又多个子工程:base、admin、system等,启动类在system下,admin工程为新增项目,项目启动成功但是访问controller报错404,原因为:system工程下pom.xml中未引入admin工程,导致启动扫包注入时未扫到导致注入失败从而访问报错404...原创 2021-05-13 17:14:31 · 1447 阅读 · 0 评论 -
springboot启动一直打印Init DruidDataSource
SpringBoot项目启动后,控制台一直打印日志:Init DruidDataSource导致启动失败,解决办法:删除项目目录下的.idea目录,然后重启idea,再将项目设置为maven工程,然后启动成功原创 2021-05-12 18:25:04 · 2629 阅读 · 1 评论 -
Freemarker使用笔记
1.添加依赖<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId></dependency>2. 范例代码import com.baomidou.mybatisplus.generator.config.ConstVal;import freemarker.template.Configuration原创 2021-05-11 17:50:45 · 193 阅读 · 0 评论 -
Java 文件上传服务端
import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import org.springframework.web.multipart.MultipartFile;import java.原创 2020-10-20 15:06:38 · 199 阅读 · 0 评论 -
Java 文件下载服务端
import org.springframework.http.HttpHeaders;import org.springframework.web.bind.annotation.*;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletResponse;import java.io.*;import java.net.URLEncoder;import java.util.List;@原创 2020-10-20 14:46:00 · 696 阅读 · 0 评论 -
Java 字节流操作之文件下载客户端
import java.io.*;import java.net.URL;import java.net.URLConnection;public class Download { /** * 下载文件 * @param downloadUrl 文件下载地址 * @param savePath 本地文件保存地址 */ public static void downloadFile1(String downloadUrl, String sav原创 2020-10-20 09:09:57 · 1122 阅读 · 0 评论 -
Java 字节流操作之文件上传客户端(HTTPS)
import inputoutput.stream.remote.util.SslUtil;import javax.net.ssl.HttpsURLConnection;import java.io.*;import java.net.InetSocketAddress;import java.net.Proxy;import java.net.URL;import java.util.ArrayList;import java.util.List;public class Uploa原创 2020-10-20 09:04:55 · 465 阅读 · 0 评论 -
Java 字节流操作之文件上传客户端(HTTP)
import inputoutput.stream.remote.util.SslUtil;import javax.net.ssl.HttpsURLConnection;import java.io.*;import java.net.HttpURLConnection;import java.net.Proxy;import java.net.URL;import java.util.ArrayList;import java.util.List;public class Uploa原创 2020-10-20 09:01:33 · 1622 阅读 · 0 评论 -
Java Http文件上传/下载
1、Http文件上传、下载1.1文件上传(有HTTP、HTTPS两种)package com.zwc.controller.upload;import java.io.*;import java.net.HttpURLConnection;import java.net.InetSocketAddress;import java.net.Proxy;import java.net.URL;import java.util.HashMap;import java.util.Iterator原创 2020-10-18 18:02:47 · 958 阅读 · 1 评论 -
Java 多线程学习-多线程实现
1 实现方法一:继承Thread类1.1 继承Thread并重写run方法,并调用start方法public class Thread1 extends Thread { @Override public void run() { System.out.println("Thread-run:"+ Thread.currentThread().getName()); } public static void main(String[] args) {原创 2020-10-12 14:55:40 · 100 阅读 · 0 评论 -
Java 使用dom4j进行XML解析
1、XML解析(dom4j)1.1 读取XML文档// 从文件读取XML,输入文件名,返回XML文档public Document read(String fileName) throws MalformedURLException, DocumentException { SAXReader reader = new SAXReader(); Document document = reader.read(new File(fileName)); return document;原创 2020-10-11 21:50:26 · 829 阅读 · 0 评论 -
Java 反射学习(含注解)
import java.lang.reflect.*;import java.util.Arrays;public class User { private String flag; public String getFlag() { return flag; } public void setFlag(String flag) { this.flag = flag; } @Func(id = 1,...原创 2020-09-27 10:33:24 · 92 阅读 · 0 评论 -
Java HTTP通讯
HttpServer服务端处理Http请求:package http;import com.sun.net.httpserver.HttpContext;import com.sun.net.httpserver.HttpExchange;import com.sun.net.httpserver.HttpHandler;import com.sun.net.httpserver.HttpServer;import com.sun.net.httpserver.spi.HttpServe原创 2020-09-27 10:13:39 · 178 阅读 · 0 评论 -
Java 分页计算公式
1 根据传入的参数计算1.1 请求参数(currPage:当前页、pageSize:每页展示条数),根据这两个参数计算起始起始条数、截止条数 起始条数 firstIndex = (currPage-1) * pageSize 截止条数 lastIndex = currPage * pageSize1.2 计算总页码(需获取总条数)pages= total%pageSize == 0 ? total/pageSize: total/pageSize + 1 ...原创 2020-09-19 22:54:45 · 11821 阅读 · 1 评论 -
Java 注解(用于获取具体空值属性名及中文释义)
由于校验必输参数时,抛出的错误信息不明确,所以将需要校验的参数值实例化到实体类中,然后通过反射拿到这个实体类的属性进行非空校验(每个类型的交易定义一个参数校验实体类并继承一个基类),如果参数为空,则拿到该属性的名称及中文释义并抛出异常。注解类:import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;imp原创 2020-09-18 17:36:45 · 1282 阅读 · 0 评论 -
Maven工程编译
编译时需使用lib目录下的jar包时,需要在pom中添加<plugin> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId&..原创 2020-09-17 16:02:42 · 448 阅读 · 0 评论 -
关于List排序
## 1、排序### 1.1 、List排序- 排序内容的类型为int型,则是按数字大小排序 ``` java public static void main(String[] args) { List<Integer> list = new ArrayList<>(); list.add(1); list.add(1234); list.add(46345); list.add(22...原创 2020-09-16 16:07:49 · 432 阅读 · 0 评论 -
关于Maven使用
阶段 处理 描述 验证 validate 验证项目 验证项目是否正确且所有必须信息是可用的 编译 compile 执行编译 源代码编译在此阶段完成 测试 Test 测试 使用适当的单元测试框架(例如JUnit)运行测试。 包装 package 打包 创建JAR/WAR包如在 pom.xml 中定义提及的包 检查 verify 检查 对集成测试的结果进行检查,以保证质量达标 安装 install 安装原创 2020-09-03 10:19:02 · 81 阅读 · 0 评论 -
Spring读取Redis XML配置文件(配置IP、端口、密码)
redis bean注入spring容器时,IP、端口使用构造器注入,而密码则要使用setting方式注入:<bean id="zwy_redisJedisShardInfo" class="redis.clients.jedis.JedisShardInfo"> <constructor-arg name="host" value="*.*.*.*" /> <constructor-arg name="port" value="*" /&g...原创 2020-09-03 09:56:30 · 966 阅读 · 0 评论 -
Spring注解使用
关于Sping注解使用:1.@PostConstruct: @PostConstruct注解的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的inti()方法。@PostConstruct注解的方法会在构造函数之后,init()方法之前运行。2.@PreDestroy: @PreDestroy注解的方法会在服务器卸载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的destroy()方法。@PreDestroy注解的方法会在des.原创 2020-08-12 17:35:58 · 126 阅读 · 0 评论 -
修改SpringBoot启动banner
1、找一个喜欢的banner图片(https://www.bootschool.net/ascii-art/search):2、复制内容,然后在SpringBoot工程resources目录下创建一个banner.txt文件:3、将图片内容粘贴到文本中:4、启动项目:5、OK,SpringBoot项目的banner替换完成!...原创 2020-05-28 23:01:36 · 679 阅读 · 0 评论 -
SpringBoot配置热部署
1、添加热部署启动器(添加maven依赖)<!--热部署启动器--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId></dependency>2、配置自动编译:File-Settings-Compiler-Build Project auto原创 2020-05-28 22:33:50 · 237 阅读 · 0 评论