SpringCloud配置中心

SpringCloud配置中心 服务端 spring-config-server完整代码地址 初始化springboot项目 新增配置中心依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> <version>2.0.1.RELEASE</version> </dependency> 本地配置的方式 修改application.properties spring.application.name=service-config spring.profiles.active=native #指定配置文件位置为classpath目录下的config目录 spring.cloud.config.server.native.searchLocations=classpath:/config ...

April 6, 2020

台式机安装黑苹果

台式机配置如下 模块 型号 CPU i5-9400f 主板 微星(MSI)B360M MORTAR迫击炮 显卡 铭瑄RX580 2048SP ...

March 22, 2020

springboot集成mybatis及pageHelper的使用

springboot集成mybatis及pageHelper的使用 简单集成 新增maven依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> ...

March 2, 2020

springboot集成quartz

springboot集成quartz

March 1, 2020

jwt基本概念及其在springboot的使用

jwt基本概念及其在springboot的使用 jwt概念 全称:json web token JSON Web Token 入门教程 我的理解 与传统的session认证方式最显著的区别在于,jwt将用户信息存放在客户端,每次请求服务时再将此部分信息传给服务器(一般是通过header参数传递的方式) jwt主要分为三个部分: header:标识签名的算法等属性 payload:标识该jwt token的有效时间,签发人等信息,辨识调用方 signature:对前两者的签名,避免被篡改 ...

March 1, 2020

mybatis-threshold参数问题

mybatis-threshold参数问题 问题 在mapper里面使用的函数方式使用如下参数 @Param("threshold") String threshold mapper.xml里面如下(threshold为该表的一个字段) <select id="queryCountByImageMd5" resultType="java.lang.Integer"> SELECT * FROM xxxx WHERR and threshold = #{threshold} </select> 结果报错,提示类型转换失败 解决办法 修改参数名称 threshold —> testthreshold @Param("testthreshold") String threshold 相应修改xml相关参数

February 13, 2020

elasticsearch集群部署

February 6, 2020

MQ消息最终一致性解决方案

February 6, 2020

mysql之groupby获得分组指定记录

mysql之groupby获得分组指定记录 场景及需求 有如下示例表(表名test): 字段编码 字段名 id id 学科 subject 成绩 score 如果只是想要获得每个学科的最高分的话,那么 select subject, score from test group by subject 上述sql能够获得需要的结果 但是更多时候我们想要的不仅仅是这样,我们还想要同时取得学科最高分对应的id,那么我们可以这样写 select id, subject, score from (select * from test order by score) group by subject 原理 group by后获取的第一条记录是默认第一条,那么我们先将其排序之后再去获取的,那么就能够获得到我们想要的那一条记录了 注意事项 如果mysql版本为5.7及以上,那么需要在排序时增加一个limit select id, subject, score from (select * from test order by score limit 10000) group by subject 但是如果记录大于指定的limit的话,那么就会出现问题,所以这种情况只适用于数据量能够掌控的表。 查了一下之后发现另外一种方法 另一种方法 mysql实现group by后取各分组的最新一条 看了之后发现,这种仅限于你想要取得的字段的限定条件是唯一的情况,并不能够满足我们此种场景下的需求(此场景下的限定条件是最大成绩的那一条,而非最大id的记录) 所以 如果想规避limit的问题,那么就 select subject, score from test group by subject 后再用指定的subject和score去查询出对应的记录吧...

February 6, 2020

nginx之header转发问题

nginx之header转发问题 项目中的后端一般是通过nginx将请求转发到后端的springboot中,但是在使用的过程中发现,当header的key值包含下划线时,后端的controller无法获取到该header,也就是说,带下划线key的header在经过nginx转发后丢了。 简单验证 后端接口代码 @RequestMapping(value="/getHeaders",method = RequestMethod.GET) @ResponseBody public String getHeader(HttpServletRequest request){ Map headerMap = new HashMap(); Enumeration names = request.getHeaderNames(); while (names.hasMoreElements()) { String name = names.nextElement().toString(); String value = request.getHeader(name); headerMap.put(name, value); } return JSON.toJSONString(headerMap, true); } ...

February 6, 2020