4 Ws菜园子

尚未进行身份认证

我要认证

机会是留给有准备的人

等级
TA的排名 5w+

敏捷核心思维-Scrum流程

敏捷核心思维 价值驱动关注高优先级目标,要事第一关注用户痛点和业务价值优先交付高价值的需求敏捷关注持续交付可见的正确结果适应变化找到正确的方向,交付正确的成果自组织团队目标驱动,共享责任 Scrum流程实践 Scrum四大支柱价值驱动的交付自组织团队增量交付迭代交付3个角色Product OwnerScrum MasterDevelopment Team3个工件产品Backlog冲刺Backlog产品增量5..

2020-05-11 22:17:18

大话项目管理工具之Jira篇

言上一篇文章谈的是知识管理工具 —— Confluence,它来自澳大利亚Atlassian 公司。很凑巧的是,今天要介绍的 JIRA 也是来自 Atlassian 公司的。但他不再是知识管理工具了,而是项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。背景在谈 JIRA 之前,就不得不说说敏捷开发了。正式由于项目是基于敏捷开发进行的,因此才引入了 JIRA 这款适合于敏捷开发的项目管理工具。当然,这里不会大篇章的介绍敏捷开发,之.

2020-05-09 09:00:32

SpringBoot2.0实战(18)整合SpringSecurity前后端分离JSON交互

在前端的文章中,我们实现了使用 SpringSecurity 实现登录鉴权,并使用数据库存储用户信息,实现登录鉴权SpringBoot2.0实战(16)整合SpringSecurity之最简登录方法鉴权SpringBoot2.0实战(17)整合SpringSecurity基于数据库登录鉴权登录页都是使用 SpringSecurity 提供的默认登录,入参为username及password,前端通过 form 表单提交请求,后台使用request.getParameter()获取填写数...

2020-05-08 20:59:05

SpringBoot2.0实战(17)整合SpringSecurity基于数据库登录鉴权

通过前一篇文章整合SpringSecurity之最简登录及方法鉴权,我们已经可以简单地使用 SpringSecurity 对应用实现登录鉴权,但是问题在于,用户信息或者是在配置文件中,或者是在代码中写死,应用启动后被加载至内存,这并不符合实际的生产需要,在实际的生产应用中,我们需要使用数据库对用户及角色信息进行持久化,在执行登录操作时,从数据库中获取用户信息。目标整合 SpringSec...

2020-04-29 20:49:32

SpringBoot2.0实战(16)整合SpringSecurity之最简登录方法鉴权

目标整合 SpringSecurity 实现最简登陆鉴权及方法鉴权,大致理解 SpringSecurity 的功用。操作步骤添加依赖编码Controller 层添加一个最简单的测试接口启动类可以看到,除了在 pom 文件加了一个 spring-boot-starter-security 依赖,其它跟创建最简 springBoot 应用...

2020-04-27 22:32:15

SpringBoot2.0实战(15)整合Redis之集成缓存SpringDataCache

相关知识常用 Spring Cache 缓存注解@CacheConfig 在类上设置当前缓存的一些公共设置,比如缓存名称。 @Cacheable 作用在方法上,表明该方法的结果可以缓存,如果缓存存在,则目标方法不会被调用,直接从缓存中获取,如果缓存不存在,则执行方法体,并将结果存入缓存。 @CacheEvice 作用在方法上,删除缓存项或者清空缓存。 @CachePut 作用在方法上...

2020-04-26 21:38:48

SpringBoot2.0实战(14)整合Redis之实现分布式锁

相关知识分布式锁分布式锁是控制分布式系统之间同步访问共享资源的一种方式,在分布式系统中,如果不同的应用之间共享一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。互斥性。在分布式环境下,同一时间只有一个客户端能持有锁。 具备锁失效机制,防止死锁。例如锁的持有者在持有锁期间崩溃而没有主动解锁,锁需要在规定时间后自动失效,以...

2020-04-26 11:00:57

SpringBoot2.0实战(13)整合Redis之初体验Lettuce

相关知识Redis 简介Redis 是一个开源的,基于内存中的,高性能的数据存储系统,它可以用作数据库、缓存和消息中间件。Redis 支持多种类型的数据结构,如:string、hashes、lists、sets、sortedSets等。Redis 内置了复制(replication)、LUA脚本(Lua scripting)、事务(transactions)、磁盘持久化(persi...

2020-04-23 22:55:23

SpringBoot2.0实战(13)整合RabbitMQ之实现延迟队列、消息重试

相关知识什么是延迟队列队列中的消息在等待指定时间后,消费者才能够进行消费。应用场景商城系统,下单后半个小时未付款,自动取消订单实现方式RabbitMQ 本身没有直接支持延迟队列功能,但是通过控制消息的生存时间及死信队列,可以模拟出延迟队列的效果。RabbitMQ 控制消息的生存时间有两种方法:设置队列属性(x-message-ttl),队列中所有消息都有相同的过期时...

2020-04-14 21:58:24

SpringBoot2.0实战(12)整合RabbitMQ之死信队列

相关知识什么是死信队列“死信”是RabbitMQ中的一种消息机制,当你在消费消息时,如果队列里的消息出现以下情况:消息被否定确认,使用 channel.basicNack 或 channel.basicReject ,并且此时requeue 属性被设置为false。 消息在队列的存活时间超过设置的TTL时间。 消息队列的消息数量已经超过最大队列长度。那么该消息将成为“死信”,“死...

2020-04-13 19:15:53

SpringBoot2.0实战(11)整合RabbitMQ之ACK消息确认

相关知识交换器direct:一对一 fanout:一对多 topic:模式匹配目标整合 Spring boot 提供的 spring-boot-starter-amqp,实现消息发送、消息消费、确认准备工作安装RabbitMQ请自行根据windows或者Linux进行安装操作步骤添加依赖添加后的整体依赖如下配置编码(消息发送方)定义 E...

2020-04-13 18:42:40

面试官必问的8道volatile关键字命题,你答对了吗?

在Java相关的岗位面试中,很多面试官都喜欢考察面试者对Java并发的了解程度,而以volatile关键字作为一个小的切入点,往往可以一问到底,把Java内存模型(JMM),Java并发编程的一些特性都牵扯出来,深入地话还可以考察JVM底层实现以及操作系统的相关知识。目录一、面试官: Java并发这块了解的怎么样?说说你对volatile关键字的理解二、面试官: 能不能详细说下什么...

2020-04-07 16:13:00

SpringBoot2.0实战(10)整合fluent-validator优雅业务校验

相关知识FluentValidator是一个工具类库,使用流式(Fluent Interface)调用风格让校验跑起来更优雅,代码更简洁,同时验证器(Validator)可以做到开闭原则,实现最大程度的复用。github地址:https://github.com/neoremind/fluent-validator中文使用手册:http://neoremind.com/2016/02/...

2020-04-06 21:42:12

SpringBoot2.0实战(9)整合Mybatis-plus完成CURD

相关知识Mybatis-plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。Mybatis-plus官网:https://mp.baomidou.com/特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CR...

2020-04-06 16:39:11

SpringBoot2.0实战(8)整合Swagger2自动生成API文档

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。相关知识Swagger官网:https://swagger.io常用注解:@Api 用于类,表示标识这个类是swagger的资源@ApiOperation 用于方法,表示一个http请求的操作@ApiParam 用于方法,参数,字段说明,表示对参数的添加元数据(说明或...

2020-04-06 10:21:18

SpringBoot2.0实战(7)整合MapStruct优雅地复制属性

在之前章节的例子中,我们在接收参数的时候都是使用的 User 类对象,这是一个 DO 对象,是用于与数据库进行交互的,而不是用于与前端业务进行交互的,所以需要创建一个 BO 业务对象用来与前端业务进行交互,保证数据隔离性及安全性。接收参数换成了 BO 对象,但数据入库使用的是 DO 对象,这中间就需要将 BO 对象的属性复制到 DO 对象,然后代码里就会出现大量的 do.set(bo.get(...

2020-04-05 20:25:10

SpringBoot2.0实战(6)整合hibernate-validator进行参数校验

spring-boot-starter-web 项目中默认已经集成了 hibernate-validator相关知识@AssertTrue // 用于 boolean 字段,该字段只能为 true@AssertFalse // 用于 boolean 字段,该字段只能为 false@DecimalMax // 用于 Number 字段,只能小于或等于该值@DecimalMin ...

2020-04-03 21:02:48

SpringBoot2.0实战(5)配置Filter过滤器

本章目标学会在 SpringBoot 项目中配置 Filter,实现对请求出入参的日志打印。操作步骤添加依赖引入 Spring Boot Starter 父工程引入 spring-boot-starter-web 的依赖编码编写 Filter实现对 application/json 请求的拦截,因为请求内容使用流,所以需要多一次封装...

2020-04-03 17:06:59

SpringBoot2.0实战(4)配置拦截器

相关知识关于拦截器的相关知识可参考:https://jinnianshilongnian.iteye.com/blog/1670856本章目标学会在 SpringBoot 的项目中怎么配置拦截器操作步骤添加依赖引入 Spring Boot Starter 父工程引入 spring-boot-starter-web 的依赖编码编写拦截器...

2020-04-03 16:01:05

SpringBoot2.0实战(3)SpringBoot单元测试

本章目标基于上一章,使用单元测试实现对增删查改接口的测试操作步骤添加依赖引入 spring-boot-starter-test 的依赖添加依赖后的整体 dependencies 如下所示编码测试用例编写在 src/test/java 源目录下编写测试用例代码分析@RunWith(SpringRunner.class) 指...

2020-04-03 15:16:08

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。