Java后台
KKALL1314
这个作者很懒,什么都没留下…
展开
-
spring源码导入
构建过两次spring的源码,第一次很顺利就完成了,第二次倒是遇到了不少问题。记录一下需要注意的几点:gradle的版本选择,需要跟下载的spring源码对应,具体在gradle/wrapper/gradle-wrapper.properties的distributionUrl中指出 distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zipgradle版本一开始我选择的是6.0.11版本,在bui原创 2021-02-20 16:17:28 · 2853 阅读 · 2 评论 -
spring源码编译
遇到的问题gradle版本选择,gradle\wrapper\gradle-wrapper.properties的distributionUrlspring官网现在部分资源的下载需要认证了,先再build.gradle和setting.gradle中注释掉spring.io的源然后添加阿里云的源id ‘io.spring.gradle-enterprise-conventions’ version '0.0.2这个插件找不到资源,先注释掉其他模块都编译完成了,就剩一个spring-tx模块,需要原创 2021-01-31 09:57:05 · 227 阅读 · 0 评论 -
微信支付开发避坑
写在前面虽然微信支付的文档被开发者骂了好几年,但遇到问题了还是得去细扣文档,微信官方文档总能把各种坑的答案深埋在文档不起眼的各处,也是费了功夫~~关键参数汇总对于JSAPI支付,二维码支付,小程序支付所需的几个关键参数:wx.appId: xxxxxxx ##小程序或公众号appidwx.mchId: xxxxxx ##支付商家的idwx.key: xxxxx ##商家支付密钥( key设置路径:微信商户平台(pay.weixin.qq.com)-->账户设置-原创 2020-12-08 15:47:53 · 791 阅读 · 0 评论 -
微信支付沙箱环境开发
沙箱环境下调取支付相关接口不再需要真正的商户key,而是需要沙箱密钥所以首先需要获取沙箱密钥:官方文档:沙箱文档这里的sign是真正的商户key,请求接口成功后会得到沙箱密钥,即sandbox_signkey,之后再用这个沙箱密钥代替真正的商户key来调用预支付等接口 private Map<String,String> fillRequestDataSandBox(Map<String,String> reqData) throws Exception{原创 2020-12-07 13:51:18 · 1634 阅读 · 1 评论 -
SpringCache 给不同的key设置不同的过期时间
前言spring cache可以使用注解来很方便的操作缓存,但是它的过期时间配置却是统一的,如何自定义每个key的过期时间?关键点以springboot+redis为例,使用注解来操作redis之前需要有一个redis配置类@Configuration//@EnableConfigurationProperties({Properties.class})@EnableCachingpublic class RedisConfig { @Bean public CacheMan原创 2020-06-26 19:47:18 · 5915 阅读 · 4 评论 -
springboot实现读写分离
读写分离/多数据源配置技术选型springbootmybatismysql实现关键点使用springboot实现mysql的读写分离,或者说多数据源配置,最关键的一点就是实现:sql的动态路由即对于一个要执行的sql,系统自动判断这个sql将要在哪个mysql服务器上执行,也就是需要实现数据源的动态切换。spring提供了一个用于切换数据源的抽象类:org.springfra...原创 2020-03-23 12:10:18 · 580 阅读 · 0 评论 -
java断点续传
前言断点续传就是从文件上次中断的地方开始重新下载或上传,当下载或上传文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会去重头下载,这样很浪费时间。并且对于大型文件,采用切片上传的方法,客户端对文件进行切片处理后,多次请求服务器,每次只传递一个分片。前端前端需要对上传的文件进行分片处理,记录当前上传的文件分片的开始字节start和结束字节end,同时,整个大文件有一...原创 2020-03-07 09:50:01 · 372 阅读 · 0 评论 -
idea启动项目时报错,workspace.xml文件第一行存在错误
前言一次意外关机,正在运行的idea也被关闭,重启电脑后,打开idea,加载项目出错,提示说明.idea文件夹的workspace.xml存在错误workspace.xml这个文件的作用就是记录idea针对该项目的配置,包括服务器的相关配置,maven或者jdk的相关配置,第三方jar的配置等。打开该文件,发现全是乱码,那肯定会加载不了项目。解决方法这种情况一般是意外关闭idea导致...原创 2020-01-21 15:05:00 · 5006 阅读 · 0 评论 -
springboot实现导出含有富文本的数据到word
前言一开始客户要求做word导出时,只是将系统的一个表单内容导出到word中,没有富文本的数据。这种情况导出word就很简单,制作好word模板后,直接使用easypoi的api就行。后来表单的一个文本框改为了富文本,同时也要求导出的时候呈现的格式和富文本中输入的格式一样。这时候easypoi就行不通了,搜索了网上资料以及结合自己的项目要求做了一下总结。技术点剖析由于富文本存入数据库的字符...原创 2020-01-14 09:42:18 · 4351 阅读 · 13 评论 -
json字符串中值为null的键值对被过滤掉的问题
原文地址:https://blog.csdn.net/qq_31138523/article/details/65627965在开发过...转载 2019-07-04 16:35:15 · 4767 阅读 · 2 评论 -
java中整形变量比较大小
java中把-128到127的整数都提前实例化了,这个范围内的所有integer都是同一个对象如果用两个Integer类型的整数做相等比较:1.如果Integer类型的两个数相等,如果范围在-128~127(默认),那么用“==”返回true,其余的范会false。2.两个基本类型int进行相等比较,直接用==即可。3.一个基本类型int和一个包装类型Integer比较,用==也可,比较时...原创 2019-07-05 16:10:37 · 2105 阅读 · 0 评论 -
spring事务回滚失效
项目中遇到一个问题:执行service层的方法时出错抛出异常,使用了try catch进行了捕捉,并在catch中设置了收到回滚,发现事务回滚出错:No transaction aspect-managed TransactionStatus in scope由于之前写过一个方法,也是在catch中进行手动回滚,事务是可以正常回滚的,对比之后没有发现什么不一样的地方。后来在网上看到,可能是...原创 2019-07-09 17:44:47 · 514 阅读 · 0 评论 -
Spring的@Autowired,@Resource和@Service注解的区别和使用
https://blog.csdn.net/mike__cool/article/details/80294483转载 2019-06-24 17:26:46 · 731 阅读 · 0 评论 -
springboot自定义拦截器实现异常的统一捕获和处理
前言每个方法中可能会抛出不同的异常,如果都是用try catch去处理,显得非常冗余,可以通过spring提供的@ExceptionHandler注解来实现异常的统一封装和处理拦截器的实现:@RestControllerAdvicepublic class CommonExceptionHandler { /** * 拦截Exception类的异常 * ...原创 2019-09-30 14:27:16 · 7710 阅读 · 1 评论 -
@RequestBody注解详解
https://blog.csdn.net/justry_deng/article/details/80972817转载 2019-07-07 17:20:12 · 239 阅读 · 0 评论 -
java注解和反射的应用
前言:注解和反射经常结合在一起使用,在很多框架的代码中都能看到他们结合使用的影子所以要想成为一个架构师,想要编写自己的框架,一定要能熟练的使用注解和反射。注解的概念注解在我看来就是一个标签,用来标记所修饰的东西,而在程序中,用到这个东西时,可以通过获取他的注解,也就是标签,来进行个性化操作。可以简化初始化时的工作,而把原本初始化做的工作放到业务处理中,借助注解去做,这样极大的提高了编程的...原创 2019-07-19 17:22:17 · 2291 阅读 · 6 评论 -
eclipse中打包Maven多模块项目
首先需要清楚maven打包时执行命令的顺序:mvn -clean --清除target文件夹,以便重新打包mvn -test --用于测试编译项目是否可以成功,失败的话会打印出错误信息,比如jar包缺失等mvn -build --用于编译项目,并执行测试代码mvn -package --将编译好的class文件打包 war或者jar包mvn -install --将...原创 2019-07-17 15:57:18 · 3294 阅读 · 0 评论 -
MySQL的tinyint字段,读取出来为true或者false问题
前言项目中遇到一个问题:我在mybatis中使用嵌套查询时代码如下 <association property="approvalLog" column="{applyId = id,applyType = apply_type}" javaType="xx.TCaseApprovalLog" select="xx.findByMap"></association>...原创 2019-09-01 11:18:16 · 1766 阅读 · 2 评论 -
idea引入lombok编译报错
lombok引入之后,代码直接使用get方法编译时报错,找不到方法,也就是lombok没有生效。重启了idea之后弹出提示按照要求配置如下重新编译即可原创 2019-09-19 16:53:21 · 2099 阅读 · 0 评论 -
springboot中使用swagger接口文档
前言前后端分离的项目中,前后端人员靠接口 文档进行交互,swagger使用比较广泛,在springboot中使用swagger也很方便,但是swagger存在一些不完善的地方,需要额外的配置才能让前端更好的理解接口引入swagger依赖以gradle为例: dependencies { compile 'io.springfox:springfox-swa...原创 2019-09-30 12:02:23 · 398 阅读 · 0 评论 -
springboot配置跨域
启动类注入如下的Bean@Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurer() { @Override public void addCorsMappings(CorsRegistry registry) { ...原创 2019-09-30 14:11:31 · 240 阅读 · 0 评论 -
springmvc 提交表单报错:405 GET not support...
今天在做新增表单的时候,出现了一个小bug,耗费了我和同事一下午时间才解决,由于这个错误很常见,但引起这个错误的原因却很多,特此记录一下。由于前端使用的ajax方式,提交成功时服务器会返回相应信息提示是否提交成功。前端返回提交失败之后,在控制器打个断点,奇怪的事情发生了。。。。断点处竟然没有执行!!看了一眼mapping映射,没问题。前台F12一下,发现console报错了:405错误...原创 2018-08-25 08:26:39 · 977 阅读 · 0 评论 -
ajax请求成功,却执行error方法
在做ajax调用后台接口的时候出现了这个问题,网上查了查,造成这种情况的原因无非就两种:1.存在跨域请求2.服务器端返回的数据类型和ajax接收的数据类型不符,比如要接收的数据类型为json,返回的不是json类型就会去执行error方法。我的请求不存在跨域,那就是第二种问题,将dataType改成json后还是不行,也就是我服务器端返回的数据不是json格式的。再次检查接口发现接口虽然返...原创 2019-06-10 14:41:28 · 2959 阅读 · 0 评论 -
java程序性能优化技巧
慎用try catch,不要在循环体中去做try catch尽量用局部变量代替全局变量:调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中,速度较快,静态变量,实例变量等都保存在堆中,速度较慢。位运算代替乘除法int a = 100;a<<=1; //a乘以2尽量使用一维数组代替二维数组关注循环体,对循环体中的重复运算的代码进行提取,放到循环外...原创 2019-06-10 11:41:11 · 175 阅读 · 0 评论 -
自定义starter的创建
一.自定义启动器的命名规则启动器命名规则:springboot官方的命名规则是:spring-boot-starter-xxx自定义的启动器的命名规则是:xxx-spring-boot-starter二.构建启动器的步骤1.首先创建一个空项目2.创建两个子工程1.点击加号添加一个maven工程,命名为mystarter-spring-boot-starter...原创 2018-09-14 16:07:00 · 698 阅读 · 0 评论 -
nginx实现负载均衡
nginx实现负载均衡一 负载均衡的步骤准备两个或多个tomcat服务器,本地或者远程均可。如果是本地的话,需要设置两个tomcat的端口不一致。包括启动端口,关闭端口,jvm端口。分别为:<Server port="8005" shutdown="SHUTDOWN"> //关闭端口<Connector port="8081" protocol="HT...原创 2018-09-14 16:04:06 · 210 阅读 · 0 评论 -
maven dependencies丢失
有时候导入别人的maven项目时,别人的依赖包是自动导入的,jar包在别人的本地库里面的。所以自己导入Maven项目没有Maven Dependencies目录。 &nb...转载 2018-09-14 08:49:01 · 600 阅读 · 0 评论 -
maven web-app启动报错:ClassNotFoundException: ContextLoaderListener
今天打开myeclispe,启动昨天写了一半的项目,tomcat启动报错,如标题。 明明昨天好好的,啥也没改就突然出现这个错误,很是无语,eclipse的bug?错误说的很清楚:spring下的ContextLoaderListener.class找不到。看了一眼maven依赖下的spring-web-release-xxx.jar发现这个class是存在的,说明不是jar包的问题。那么...原创 2018-09-13 20:59:59 · 347 阅读 · 0 评论 -
如何查看springboot官网
自学springboot时,网上的一些教程往往使用的springboot版本不是最新版的,我们在练习时想使用最新版的,就可能会遇到如下情况:点进去看一下这里可以看到,PageRequest的这些构造器都被新版的springboot遗弃了。我们去官网查看该类的API:步骤:1.搜索spring 官方文档2.3.查看我们要查看的类在那个jar下:4.找到与之对应的API:5...原创 2018-09-19 09:30:00 · 6292 阅读 · 0 评论 -
jstl自定义函数的使用
目录转载使用jstl的自定义函数具体示例代码如下:fns.tld文件相应后台工具代码前台调用转载转载自:https://blog.csdn.net/nethackatschool/article/details/47082469由于本人之前并没有接触过jstl标签,说来也可笑,之前一直使用struts2标签。最近项目用到jstl,所以做些记录方便以后自己查看。...转载 2018-08-21 20:47:47 · 430 阅读 · 0 评论 -
Java中的日期字符串转日期类型的坑
目录背景MM、mm、HH、hh如何使用?1.字符串转日期 2.日期转字符串 3.示例代码背景SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " ); 这一行代码看似很简单,但有一个坑,那就是 格式字符串不能随意改变大小写!!! MM、mm、HH、hhMM和mm是不一...原创 2018-08-21 20:18:50 · 389 阅读 · 0 评论 -
Tomcat 设置虚拟路径的几种方法及为什么设置虚拟路径
目录转载为什么要设置虚拟路径设置虚拟路径方法1(修改配置文件):这是最最最常见的一种方法方法2(添加配置文件):推荐使用,不需要重启服务器方法3:方法4:转载转载自:https://blog.csdn.net/jdjdndhj/article/details/52693652为什么要设置虚拟路径很多朋友都会很疑惑,既然我们都知道在Tomcat服务器上部署...转载 2018-08-21 20:09:52 · 212 阅读 · 0 评论 -
远程服务器开发环境搭建之数据库:如何开启远程服务器数据库的访问权限
目录问题背景一、服务器端的mysql如何开启可被远程访问:二、本地访问远程数据库服务的方法:问题背景在远程服务器安装好了mysql服务器之后,我们在本地使用命令行进行连接时发现连接不上,这时要考虑该远程服务器上的mysql服务是否开启了可被远程访问的权限。一、服务器端的mysql如何开启可被远程访问:在远程桌面上打开cmd依次输入以下命令:1.#mysql -u r...原创 2018-08-21 19:57:28 · 1193 阅读 · 0 评论 -
springboot下实现WebMvcConfigurer找不到该类
今天在springboot框架下需要写一个WebMvc的配置类,打算实现官网给的WebMvcConfigurer,但是idea自动提示并没有出现这个接口,看了下maven依赖导入的是spring5.0.9版本,版本没问题,但是找不到这个接口。后来发现pom中没有引入web依赖,导致其无法识别这是一个web项目。加上web依赖即可 <dependency> ...原创 2018-09-25 14:50:29 · 11570 阅读 · 6 评论 -
java如何读取配置文件.md
java如何读取配置文件项目中一些必要信息往往需要记录在配置文件中,在程序中动态的去读取这些属性。我们需要借助java提供的类来实现自定义读取配置文件。首先写一个加载配置文件的工具类PropertiesLoader:这里用到了spring提供的ResourceLoader接口的实现类DefaultResourceLoader中的getResource(),用来加载资源文件java.uti...原创 2018-09-26 17:33:17 · 3034 阅读 · 0 评论 -
Java连接Redis时出现 “ERR Client sent AUTH, but no password is set” 异常的原因及解决办法
给redis设置过auth后发现还是出现这种情况,这是由于启动redis时自动加载的redis配置文件并不是我们配置的那个,我在服务中找到redis:右击redis选择属性这里发现redis启动时使用我们之前配置在环境变量里的.exe文件,先将服务停止,然后到该文件夹下点击.exe运行redis:发现他默认没有指定配置文件,为了能使用密码,我们只好在启动时给定配置文件在redis-...原创 2018-10-23 14:40:58 · 2127 阅读 · 0 评论 -
java强引用和弱引用
java的引用类型强引用强引用的特点:强引用在任何时候都不会被jvm回收,可能导致内存泄漏强引用可以直接访问目标对象创建一个对象时,该对象实例被分配在堆上,如果在方法中创建了对象StringBuilder str = new StringBuilder("aaa");//str是局部变量,被分配在栈中,并且指向堆中的对象实例,str就是一个强引用注意:对引用的==操作用于表示...原创 2019-06-03 17:26:19 · 548 阅读 · 0 评论 -
java中Comparable和Comparator的区别
Comparable实现自定义排序的方式:使要比较的类实现这个接口即可@Data@ToStringpublic class Student implements Comparable<Student>{ private String name; private int age; private Date birth; public Student(){...原创 2019-05-22 17:35:03 · 164 阅读 · 0 评论 -
maven项目在eclipse下的配置问题
最近在搭建公司的项目环境时遇到了一些琐碎的配置问题,特此记录一下含有web模块的maven项目结构变成了这样这是由于当前选择的视图是javaee视图,切换为java视图即可eclipse中window->perspective->open-perspective->java项目用到了lombok插件,eclipse配置lombok网上有教程,按照教程配置好之后,代码全...原创 2019-03-17 17:06:02 · 203 阅读 · 0 评论 -
使用maven多模块搭建springcloud
记录一下遇到的问题:报错无法识别该依赖包原因是没有指定springcloud版本号可以在dependencyManagement中声明&lt;dependencyManagement&gt; &lt;dependencies&gt; &lt;dependency&gt; &lt;groupId原创 2019-03-09 16:07:37 · 887 阅读 · 0 评论