Springboot2
虹梦未来
Java开发者,Linux爱好者,Gopher
展开
-
【开发心得】Java xsd文件转JavaBean
最近又要对接友商老的系统,依然采用http + xml方式的请求,客方提供了xsd,这里提供windows平台两种转换xsd文件为javaBean的方式。原创 2023-10-12 13:51:02 · 776 阅读 · 0 评论 -
【开发心得】spring-data-mongo多数据源配置
两份配置基本一致,主要区别一个是primaryxxx,一个是secondaryxxx,同时primaryConfig中,需要对MongoProperties,MongoDatabaseFactory,MongoTemplate 增加@Primary,确保单例,同时确保application.yml中不要出现spring.mongo,否则会报错多个Bean问题。结语: 使用Mongo多数据库的情况很少,所以一般没有样例,或者样例很老,这里特此写一篇文档,当做笔记,也为后来人开路。原创 2023-02-06 11:24:15 · 862 阅读 · 0 评论 -
【开发心得】Java Jaxb unmarshall Content is not allowed in prolog.
前言: 使用Jaxb反序列化xml,处理UTF-8 with bom的文件时报错。问题: Content is not allowed in prolog.原创 2022-10-18 13:53:14 · 341 阅读 · 0 评论 -
【分享】idea版本与maven版本不一致的坑
在确保maven 相关的配置没有问题的时候,可以考虑下,是否是idea与maven版本配置问题。比如 idea 2022,使用maven3.6.x 有点小问题,推荐版本3.8.x。idea 2021 使用高版本3.8.x 有点小问题,推荐版本3.6.x。转载 2022-08-31 00:13:16 · 1525 阅读 · 0 评论 -
【项目搭建】SpringBoot多模块项目搭建
选择SpringBoot版本,2022年了,直接选择2.4以后的版本,这里直接选择比较心得2.7.3,SpringInitializr 直接创建空工程,也可以直接创建一个maven工程,看个人习惯。注意,不要删除.iml,这个是一个idea的项目配置文件,如果误删除,可以通过mvn idea:idea重新生成。也可以用其他方案,都行。添加各个子模块modules->module,添加dependencyManageMent,进行统一版本管理,管理后,子模块可以直接无版本号方式引入对应的依赖。...原创 2022-08-21 23:24:59 · 5076 阅读 · 0 评论 -
【开发心得】微信网页应用授权登录
self_redirecttrue手机点击确认登录后可以在iframe内跳转到redirect_uri,false手机点击确认登录后可以在topwindow跳转到redirect_uri。2.本地映射成申请时候填写的域名。1.微信官方有两种对外能力,分别是网站应用与微信开放平台,这两个服务都有授权登录,注意,我们使用的是前者,故需要的scope是。(1)直接根据appid与scope等新开一个网页,很多网站都使用该方案,缺点需要弹出一个单独的页面,用户体验不够友好。...原创 2022-07-29 18:45:48 · 2511 阅读 · 1 评论 -
【学习分享】SpringBoot ResourceProperties变更
Spring Boot 默认的source文件路径:这个从之前的版本就一致如此定义,只是since2.4.x之后,ResourceProperties被打上了@Deprecated标识,并且明确的指引到: 最新的项目,使用的是2.6.x的版本,故已经没有ResourceProperties文件了,需要找的话,可以去WebProperties.Resources静态内部类找...原创 2022-07-04 14:15:36 · 1786 阅读 · 0 评论 -
【开发心得】记录一次自定义starter的实现
springboot自定义starter无法@Autowired 问题原创 2022-06-30 09:33:30 · 194 阅读 · 0 评论 -
【运维心得】Mysql8白名单设置
环境: Centos7 Mysql8登陆mysql查看所有的用户限定单ip添加限制ip段增加新的ip字段172.17.20 换成指定前缀,如果需要配置成172.17前两位,需要设置为172.17.%.%授权 刷新权限删除指定用户如果root用户无grant_priv权限...原创 2022-06-21 18:05:56 · 2179 阅读 · 0 评论 -
【开发心得】java轻量级rpc调用,springBoot集成jsonrpc4j使用
springBoot集成jsonrpc4j使用;java轻量级rpc调用原创 2022-06-20 20:24:11 · 1850 阅读 · 0 评论 -
【开发心得】正确使用druid
关于Druid的使用,我们很多时候遵从默认,直接使用配置文件,直接采用如下配置 datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver url: 'jdbc:mysql://localhost:3306/xxx?useUnicode=yes&characterEncoding=UTF-8&serverTimezone=A原创 2022-02-08 17:12:19 · 1334 阅读 · 0 评论 -
【开发心得】解决iframe 请求security出现X-Frame-Options
在开发SpringSecurity配置的项目时,返回带有iframe的页面时,无法显示。报错截图:打开页面工具看到提示Refused to display in a frame because it set 'X-Frame-Options' to 'DENY'>>>>> Springboot 2.x 要在继承了WebSecurityConfigurerAdapter 的配置类中配置。结合SpringBoot只要在页面访问控制的配置中加上http.原创 2021-07-30 11:22:25 · 1575 阅读 · 0 评论 -
[分享]redis increment实现分部署锁
@Autowiredprivate RedisTemplate redisTemplate; /** * 加锁 */public boolean getLock(String key) { try { long count = redisTemplate.opsForValue().increment(key, 1); if(count == 1){ //设置有效期2秒 redisTemplate.expire(key, 2, TimeUnit.SECONDS).转载 2021-07-22 19:17:31 · 431 阅读 · 0 评论 -
【开发心得】在yml中获取map(备忘)
前言: yml作为现在开发中,使用较多的配置文件格式,支持多种数据,单值,数组,list,map。配置文件中,map的写法应该是(当然还有别的):my: help: map: '{"key":"value","key1":"value1"}'代码中获取 @Value("#{${my.help.map:{}}}") private Map<String, String> convertRuleMap;...原创 2021-07-08 19:39:51 · 3626 阅读 · 3 评论 -
【开发心得】基于切面实现事件记录
环境:Spring boot 2.x依赖:<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> </dependency> <dependency> <groupId>org.aspectj&l原创 2021-06-07 18:41:26 · 144 阅读 · 0 评论 -
【糗】单元测试springboottest null point exception
前言:昨天环西湖两圈,跑了个半马,结果这会还感觉很累。写单元测试呢,发现test路径不见了。记录下本次单元测试的蠢事。1.tests路径建立错误(其实这个mei'sh)原创 2021-06-07 10:03:09 · 431 阅读 · 0 评论 -
【开发心得】jpa failed to lazily initialize a collection of role
jpa: hibernate: # 生产环境设置成 none,避免程序运行时自动更新数据库结构 ddl-auto: update properties: hibernate: dialect: org.hibernate.dialect.MySQL5InnoDBDialect format_sql: true # 出现no session 请把这个配置设置为true open-in-view: false...原创 2021-06-01 13:59:40 · 803 阅读 · 1 评论 -
【开发心得】es字符串类型的RangeQuery时间比较
关键字:Elasticsearch,字符串类型的时间,比较场景: 没有手动指定es的mapping,借助spring data e原创 2021-05-28 19:02:09 · 4411 阅读 · 8 评论 -
【开发心得】Vue axios跨域携带cookie
前端配置axios默认发送请求是不携带cookie的,所以需要加上下面这句axios.defaults.withCredentials=true;importaxiosfrom'axios';axios.defaults.withCredentials=true;//允许携带cookie//创建axios实例constservice=axios.create({baseURL:process.env.VUE_APP_API_SERVER_ADDRES...原创 2021-05-12 16:57:23 · 1034 阅读 · 0 评论 -
【分享】mybatis插入数据后,获取自增主键id
前言:项目之前使用的spring data jpa,获取id直接从实体类获取即可(动态更新),切换到mybatis后,也无需查询,只要添加useGeneratedKeys="true" keyProperty即可。useGeneratedKeys="true" keyProperty="id"keyProperty是需要返回的字段。 获取方式,实体类getId() 使用条件:数据库设置自增主键。...原创 2021-04-28 16:11:10 · 225 阅读 · 0 评论 -
【开发心得】记一次springboot2.x集成spring data elasticsearch java.lang.NoSuchFieldError: LATEST的报错
前言: 最近新模块需要引入新版es,在自己建立的单独的boot工程里边,正常集成,正常处理业务。但是搬到父工程里,发现报错。奇怪了,之前的群组工程并没有使用es或者solr啊,为啥启动不起来呢。1.一个小儿科的问题,包路径多了一层, 导致bean注入失败。2.工程里边包含lucene。。。。(前辈之前做测试的时候加的)3.还有一个问题是,如果是父子工程的情况下,手动指定elastic search版本,需要在父工程的properties中指名版本号。报错:java.lang.NoS.原创 2021-04-28 14:29:28 · 453 阅读 · 0 评论 -
【分享】insert出现Could not set property ‘id‘ of class XXXXXXXX
前言:mybatisplus insert出现Could not set property ‘id‘ of class XXXXXXXX不管是不是使用mp自带的insert还是我们直接写的insert语句,都会提示这个。1.项目引用了mybatis.2.数据库存在id字段,并且设置了自增。3.检查实体类,不管是使用lombok还是直接生成getter,setter 都不好使。4.检查xml中的sql语句,并且将sql日志打印出来,发现并没问题,因为sql语句中本就没加id.但是.原创 2021-04-24 16:06:31 · 2383 阅读 · 3 评论 -
[开发心得]websocket vue springboot使用
前言: 这篇文章的名字为了方便百度搜索,显得不是很规整。websocket 的相关概念,实现方式这里不做赘述,有一些场景,不适合前端长轮询。所以通常采用后端主动通知的方式。Springboot部分:版本号由官方“仲裁“获得: <!-- ws 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <原创 2021-04-22 18:37:47 · 170 阅读 · 0 评论 -
【开发心得】RestTemplate 自动 URLEncode导致特殊符号被转码问题
前言: 最近在做抖音视频上传对接,场景是后端方式进行远程调用抖音开放能力,涉及到一个小问题,即分片上传时,upload_id需要encoder。ok,那么,手动给这个参数进行encode,然后问题来了,笔者使用的是resttemplate的postForObject()方法,第一个参数使用String方式传递的参数,执行该方法的时候,发现%符号被二次encode了,好家伙。(一开始没注意到,后来debug=true开启之后,看到了详细请求信息,注意到了这个问题)参考,使用Ur...原创 2021-03-26 17:38:34 · 1518 阅读 · 0 评论 -
【开发心得】Springboot开启https,同时支持https与http
名词解析:超文本传输安全协议(HyperText Transfer Protocol Secure),缩写:HTTPS;常称为 HTTP over TLS、HTTP over SSL 或 HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在 1994 年首次提出,随后扩展到互联网上。原创 2021-03-25 09:06:15 · 703 阅读 · 3 评论 -
【转载】Java8时间工具类
JDK8基本上是现在最低的要求了。JDK新特性的时间工具类,应该是我们日常生活中能用到的,这里转载一个不错的时间工具类。import java.time.*;import java.time.format.DateTimeFormatter;import java.time.temporal.Temporal;public class DateUtil { public static final DateTimeFormatter TIME_FORMATTER = DateTimeFo转载 2021-03-03 15:22:35 · 131 阅读 · 2 评论 -
【开发心得】巧妙借助SQL语句构建器实现根据字段配置动态拼接SQL语句
前言:C2接口工程处理数据入库,因着不同的上游平台自家实现的cms平台有着不同的差距,产生的工单(xml数据),以及使用不同的key携带的数据入库。所以,需要消除字段差异。-------------------------------------------------- 免责声明: 文章中所涉及的代码不包含业务隐私,仅学术研究,分享实现思路 ------------------------------------------------------------设计:1.借助数据库实现外部的..原创 2021-02-15 16:13:28 · 434 阅读 · 6 评论 -
【学习提升】elasticsearch-head无法页面新建索引且无法展示数据
前言:诸多教程中,都使用了es head 工具,看到人家的es-head能够在页面上新建索引,也能在页面上看到索引的数据,为啥我的不能呢?先猜测一下,是不是没有正确链接到es啊,但是检查了es的跨域设置,是设置好的。那么是不是版本匹配问题呢,网上搜了一下,es6.x,7.x用head5是没有问题的,会不会是页面上渲染的问题呢,打开控制台,果不其然console报错了。用百度google了一下发现,和contentType 有关。解决方案如下:1.将容器内的vendor.js拿出来。d.原创 2021-01-27 11:41:51 · 1965 阅读 · 2 评论 -
【开发心得】解决windows下hype-v与tomcat1099冲突问题
报错:Port already in use: 1099前言:1099/8080 端口冲突在Java开发的时候,很常见。一般的调查和处理方案如下:问题类型1: 后台因为未能正确关闭tomcat 工程,导致后台仍然被占用,或者干脆就是开了两个同样端口的工程。(比如笔者之前前台开着Vue,并且也是8080)1.如果能够知道具体的占用者,直接关闭即可。2.如果没有发现具体的占用者。可以通过打开命令行(windows下cmd或者powershell)执行netstat -aon|fin原创 2021-01-25 17:14:44 · 342 阅读 · 5 评论 -
【学习提升】docker es安装 ik
前言:es对中文的支持不是很好,需要安装中文分词。这里以ik为例。注意:ik分词器的版本号需要和es的版本保持一致,否则安装会出现错误!笔者在前几篇文章中已经安装es 7.6.1 则我们这里直接安装ik7.6.1wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.1/elasticsearch-analysis-ik-7.6.1.zip解压并且重命名ik,然后将其放进你的容器.原创 2021-01-24 21:12:36 · 484 阅读 · 0 评论 -
【学习提升】docker使用国内源
docker配置国内源:可以直接配置 Docker Engine registry-mirrors或者直接编辑/etc/docker/daemon.json{ "registry-mirrors" : [ "http://registry.docker-cn.com", "http://docker.mirrors.ustc.edu.cn", "http://hub-mirror.c.163.com" ], "insecure-registries"...原创 2021-01-22 23:19:43 · 132 阅读 · 0 评论 -
[博客记录页]名博记录页,不定时更新
Java8年老师傅https://www.cnblogs.com/duanxz/原创 2020-01-30 17:31:34 · 172 阅读 · 0 评论 -
【学习提升】windows10 环境使用docker安装elasticsearch并安装elasticsearch-head
前言:单独安装es相对来说,在不熟悉的情况下,会遇到各种问题。这里本着学习es开发,所以选择使用docker安装es及可视化工具。安装 es(笔者这里使用7.6.1,建议换docker源为阿里源,不然很容易pull不到)docker pull docker.elastic.co/elasticsearch/elasticsearch:7.6.1启动es要点: 设定单机-e "discovery.type=single-node" 并且指定使用内存ES_JAVA_OPTS="-Xm...原创 2021-01-15 14:25:11 · 417 阅读 · 1 评论 -
【Java温习笔记】集合大全图
网上看到的比较好的Java集合图,特此开贴留存。方便学习。Iterator家族:Map家族:原文连接:https://www.cnblogs.com/liuzyw/p/5495459.html转载 2020-05-29 15:39:09 · 171 阅读 · 0 评论 -
【开发心得】mysql根据逗号拆分字符串和把查询结果使用逗号拼接成字符串
如题,其实这是一个比较常见的需求,很多时候我们可能在业务层就拼接了,也可以在sql中进行拼接。将查询结果拼接成带逗号的字符串例子:select GROUP_CONCAT(concat(cc.id,':',cc.name)) from ma_vod_categoryprogrammapping mcp left join ma_category ccon cc.code = mcp.category_codewhere mcp.program_id = '2原创 2020-05-29 11:51:31 · 1953 阅读 · 1 评论 -
【调研】WebService的学习与使用
前言:对于WebService,像是电信行业或者IPTV领域,因为要方便与其他厂商的系统互相调用,交换数据,还是大量的采用的,虽然restful大行其道的今天。下面记录下学习和探索WebService的相关帖子和记录。首推:https://blog.csdn.net/c99463904/article/details/76018436然后再就是:https://blog.csdn.net/Cs_hnu_scw/article/details/80181762?utm_medium=distrib转载 2020-05-23 18:02:19 · 117 阅读 · 0 评论 -
【开发新的】Java实现中文排序
最近开发过程中遇到了一个常见但恶心的需求,就是物理排序。需求如下:苦思冥想一番(百度一下)。发现public class ChineseCompare { private static Comparator comparator=Collator.getInstance(java.util.Locale.CHINA); public static void main(String[] args) { List<String> personList=Arrays.原创 2020-05-22 10:02:28 · 195 阅读 · 0 评论 -
【开发心得】Sringboot使用jar方式部署到服务器上,获取resource目录文件的相关问题
项目环境:Spring boot 2.1.x + Vue 2在做Excle的导入功能,定义完模板供用户下载,用户按照模板填写完后上传;、这里模板位置resource/excelTemplate/test.xlsx,尝试了四种读取方式,并且测试了四种读取方式分别的windows开发环境下(IDE中)读取和生产环境(linux下jar包运行读取)。第一种:ClassPathResource classPathResource = new ClassPathResource("excleTem..转载 2020-05-11 18:04:37 · 291 阅读 · 0 评论 -
【开发心得】Sring boot 获取资源文件
在读取springBoot构建的项目时,如果使用传统的FileInputStream读取文件流或者ResourceUtils工具类的方式File file= ResourceUtils.getFile("classpath:test.xlsx"); 可能会出现File is not found的问题。在springboot中可以使用ClassPathResource获取文件流的方式方便下载文件try { ClassPathResource classPathResou...原创 2020-05-09 16:00:55 · 214 阅读 · 0 评论 -
【开发心得】Springboot 使用 redis 哨兵
在项目落地实施的过程中,因为不仔细导致踩了个不是坑的小坑,配置中心用的是Apollo,配置都很正常,但是 redis的配置写的有点问题,特此记录。问题1:Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: READONLY You can't write agai...原创 2020-04-24 20:21:58 · 1248 阅读 · 0 评论