java
文章平均质量分 71
lileLife
这个作者很懒,什么都没留下…
展开
-
logback-spring.xml & @slf4j 处理springboot 日志
首先感谢Ceki Gülcü ,他是log4j (log for java),logback 的作者,以及现在使用多的slf4j都是他开发的。目前SLFJ4+Logback 是大多数开发者的选择.使用,1、idea使用 lombok 插件 。 后续可以直接使用 @slf4j 注解2、 resource下建立logback-spring.xml 该命名可以使用springP...原创 2020-04-01 19:06:09 · 543 阅读 · 0 评论 -
MultiValueMap记录
MultiValueMap 属于springframework中的map,继承Mappackage org.springframework.util;import java.util.List;import java.util.Map;public interface MultiValueMap<K, V> extends Map<K, List<V>...原创 2020-03-31 16:05:36 · 2230 阅读 · 0 评论 -
session机制到token机制到jwt实践应用
从开始的cookie在web间做信息认证,到session机制,紧接着因为session带来的跨域问题,和越来越多的前后端分离、分布式项目,更多的开发者选择了自己喜爱的token机制,以及jwt(JSON web token),本文会从cookie开始,一步一步介绍到jwt的使用。 cookie的简单介绍 cookie 存储在浏览器中。 浏览器 js可以使用do...原创 2020-02-10 14:34:23 · 1078 阅读 · 0 评论 -
优雅的使用if else
简单的if(){} else if(){} 还好,就怕if {}else if()的里面给你整个俄罗斯套娃。画面太美:// 判断书本状态 private void testIf(String status){ if("prepare".equals(status)){ if("..".equals(status)){ ...原创 2020-01-13 13:50:04 · 491 阅读 · 0 评论 -
牛客网笔试题 (经常更新)
---hashMap --- 按value排序// map排序 public static void sortMap(Map<String,Integer> map){ List<Map.Entry<String,Integer>> list = new ArrayList<>(map.entrySet()); ...原创 2020-01-11 17:54:36 · 3838 阅读 · 1 评论 -
springboot 多模块工程 打包部署 jar包 ;shell启动
项目本地前后台已经联通 ,前端已经部署到阿里云的nginx上:https://blog.csdn.net/lileLife/article/details/103497663今天部署后端 ,项目后端使用springboot mybits mysql redis开发 ,github地址:https://github.com/lilelife/webappspringboot 内置tomc...原创 2020-01-08 16:26:01 · 1322 阅读 · 1 评论 -
cors 后端解决跨域问题
vue本地调用本地后台接口包跨域问题:Access to XMLHttpRequest at 'http://localhost:8001/users' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present ...原创 2020-01-06 14:00:25 · 489 阅读 · 0 评论 -
stream().map 将list<Bean1> 复制相同字段到list<Bean2>
如下,将存Todo的list 直接变成 存放TodoDto的list ,相同字段值进行复制。可以使用 list 的foreach去循环,也可以使用jdk1.8中的Stream进行操作,具体看代码// List<Todo> list = new ArrayList<>();list.add(new Todo(1,1,"hh","ss",LocalDa...原创 2020-01-02 18:03:46 · 1899 阅读 · 0 评论 -
mybits generator 使用jdk1.8的LocalDateTime
背景:项目中使用jdk8中的新LocalDateTime去替换以前的Date类型Date类型太过鸡肋以至于jdk中的很多方法已经被弃用,并且可读向差 ,主要还是可变类,需要开发人员自己考虑线程安全问题。再看LocalDateTime实在太香:而且使用fainal 修饰不可变,不用考虑线程安全。所以想使用在mybits 和mysql 数据库中,字段对应:jav...原创 2020-01-01 18:40:38 · 987 阅读 · 0 评论 -
jdk8 Predicate Optional Supplier Function Consumer函数 理解和应用
Predicate接口函数 ,用于评估判断自定义的test()方法。 类似bool函数。Stram中的filter()函数入参就是pridicate函数对象即实现test()方法,到达自定义判断目的,返回boolean 参数。测试如下:package utils;import javax.swing.text.Style;import java.sql.SQLOutput;...原创 2019-12-24 11:01:35 · 505 阅读 · 0 评论 -
后台密码加盐存储 pwd+salt sha256(),java实现
后台仅仅使用md5或者 sha256对密码加密后存储在一定程度上存在被撞库风险。这时候考虑使用随机生成salt进行密码加盐。前后台注册基本逻辑:前端传入md5过的密码pmd5-》后台接受,并随机生成salt -》后台使用sha256(salt+pmd5) 生成最终密码pwd 。-》后台在数据库存储字段为 salt、pwd 。代码实现:创建如下工具类PasswordU...原创 2019-12-17 15:30:50 · 5048 阅读 · 0 评论 -
controller返回包装成DynamicResponse后,结果显示null
再用debug模式调试时候,对象是有值的,但是到controller返回后,就是为{} 。而且使用logger.info(JSONObject.toJSONString(dynamicResponse)); 打印出的也是{} 。最后发现是定义DynamicResponse 类的变量没有定义getter setter方法。导致在tostring时候提取get时候没有值.我的是...原创 2019-12-17 10:40:06 · 299 阅读 · 0 评论 -
分布式锁 及常见实现
分布式锁针对单体应用来说,一个JVM运行的进程中,要解决资源共享的情况,可以使用java中的 lock进行加锁解锁、使用synchronized修饰方法,修饰变量,也可以使用volatile来保证原子性等,来保证多线程安全问题。但随着为了保证高并发或者系统容错,一个jar包运行在多台jvm上面的时候,nginx分流后,再去考虑资源共享就要引入分布式锁,分布式锁简单来说就是找到一个多个jvm都去...原创 2019-01-04 18:09:55 · 270 阅读 · 0 评论 -
mysql 分库分表分区 入门
随着业务请求的高并发,数据库压力变大,在不引入Nosql,更改系统架构的情况下,可以考虑分库分表分区分表:分表就是为了减少单个数据库表的压力,当单表数据量达到百万级别时候,无论是插入和查询对将面临瓶颈,访问变慢,引入分表也是为了减轻单表的压力,常见的分表策略对于业务表或者用户表,可以根据业务ID或者用户ID 对表数取模、范围a~b等,以取模为例%n,将表分为n个,如tb_uesr...原创 2019-01-03 17:38:08 · 574 阅读 · 0 评论 -
java中 == 与.equals()的比较详解
记录== 与.equals 的区别!原创 2016-09-04 00:30:42 · 273 阅读 · 0 评论 -
servlet路径访问问题
注:jdk1.8 可以匹配 tomcat7.01.通过修改web.xml文件修改 WEB-INF 的web.xml文件 修改servlet的访问url路径: web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xm原创 2016-09-06 21:16:51 · 560 阅读 · 0 评论 -
java String特殊的应用类型 程序举例解析
String引用类型举例说明原创 2016-09-07 14:35:52 · 336 阅读 · 0 评论 -
不比较求两数的最大最小
max(a,b)=(a+b+|a-b|)/2;min(a,b)=(a+b-|a-b|)/2原创 2018-06-12 22:53:14 · 205 阅读 · 0 评论 -
springboot xls/xslx 表格文件读写上传,(FtpClient+Poi)
Java文件上传一般使用FtpClient进行操作,前后端使用MultipartFile 交互; Poi对excel文件进行读写操作, 因excel分为 office2003("新建 Microsoft Excel 工作表.xls)和2007两个版本(“新建 Microsoft Excel 工作表.xlsx”),针对两种文件创建不同 Workbook,Workbook是XSSFWor...原创 2018-06-12 23:52:19 · 2087 阅读 · 0 评论 -
spring controller层引用service报空指针异常nullpointException
调用controller报空指针有两种情况: 1、 service 或者mapper 没有加载到spring容器中 ,引用时候肯定报空指针2、 service加载到spring容器中了, 但是controller中定义的方法为private,私有方法被接口访问时候,因为private作用域的问题,无法获取该方法,报空指针没有加载到spring容器中1、controller层中的service没有注...原创 2018-06-14 23:46:42 · 17362 阅读 · 3 评论 -
springboot controller层结果 返回不同bean
1、使用泛型2、使用子类继承父类 public class A{ private String aa;}public class B extends A { private String bb;}public class C extends A { private String cc;} chontller :@GetMapping("/{str}",) publi...原创 2018-06-14 23:57:13 · 1538 阅读 · 0 评论 -
java 图形验证码, 前后台实现
图形验证码可以用在短信验证码前面,作短信防刷。 发送短信前调用图形验证码接口,获取该设备的图形验证码,用户在前端填写好图形上的string信息后,作为参数请求后台,如果和后台存储图形验证码上的信息一致,就返回短信验证码,否则返回“图形验证码不正确”。后台可以将图形验证码上的信息存储在session中,或者存储在token中。这里采用redis token实现。 获取验证码: 前端发送...原创 2018-07-01 16:29:49 · 12462 阅读 · 5 评论 -
springboot 异步线程处理 Executor和 ThreadPoolExecutor
使用场景: 图片扫描。 最近在做作品版权交易的相关逻辑,脑子里全是copyright, 使用阿里图片识别,service层巨慢,所有需要使用异步处理, 在图片上传的时候创建一个异步线程,该线程去处理图片识别,调用阿里接口; 主线程返回successCode。也就是说 接口已经返回了调用成功的信息,但是在后台其实还有一部分逻辑仍然在处理(异步)。简单实现://1...原创 2018-06-28 23:34:54 · 855 阅读 · 0 评论 -
spring cloud 之eureka
spring cloud 与 微服务微服务与单体应用: 单体应用 一个归档包(war包)包含所有功能。 将前后端包装在一起,不适合解耦 扩展,难于部署;微服务架构风格是一个单一程序开发为一组小型服务的方法,单个服务独立开发,部署,运维,服务之间使用http等轻量级通信机制调用,易于扩展开发,部署,方便启动等。spring cloud:包含配置管理,服务治理、断路器、智能路由,微代...原创 2018-10-29 18:15:54 · 182 阅读 · 0 评论 -
分布式事务 以及 JTA TCC
微服务相对于单体应用来说,将单一程序开发为一组小型服务,服务之间根据http轻量级通讯机制调用,单个服务独立开发,独立选型技术,独立部署和运维。方便服务扩展。随着微服务架构的使用,分布式集群所带来的问题也应运而生,如 分布式事务。数据库事务 数据库事务,事务不再累赘,最主要的四大特征:原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Is...原创 2018-11-21 17:48:47 · 761 阅读 · 0 评论 -
spring cloud 之spring cloud bus消息总线
引入: 前面提到spring cloud config 做服务配置中心(https://blog.csdn.net/lileLife/article/details/84871773),当远程git提交代码时候,客户端需要使用RefreshScope刷新获取最新配置,和在git中使用webhock来通知cofing service,但是随着客户端越来越多,客户端 不能一个一个都执行一遍。这时候...原创 2018-12-07 16:41:36 · 210 阅读 · 0 评论 -
spring cloud 之 spring config service
spring cloud config微服务中,对于单个服务,都有单独的配置文件,properties/yum等,实现配置和代码的分离。而分布式配置中心是将配置文件放置在远程git/svn仓库中,在spring cloud中,使用spring cloud config实现分布式配置中心,以git为例,使用spring cloud config 建立config server,config se...原创 2018-12-07 11:22:39 · 578 阅读 · 0 评论 -
注入依赖
注入依赖 概念原创 2016-08-21 16:14:38 · 284 阅读 · 0 评论