springboot 与 redis 处理缓存

[TOC]

一. 简述

Redis 是现在大部分项目中使用最多的 NOSQL 型数据库,其单线程的模型以及内存级别的读取可以给项目适当加加速。Redis 不仅会被当成缓存数据库使用,还会被作为分布式锁(因为是单线程模型)的工具来使用。

Spring-Boot 项目有两种方式使用 Redis ,接下来就是两种方式的使用方式了。

阅读更多


2018 年度总结

好了,2018 年已经过去,按照往年习惯还是会对自己这一年以来所获得的东西进一步的总结。

今年年初在华康公司上班,因为受不了西服上班故离职,但是从吊炸天的组长中获取了 DDD 这个名词,所以就今年围绕这块进行一系列的学习。后来,重新入职摩配世界,到现在还在维护我第一个比较听话的孩子(就是后面架构的项目,现在还没有进入混乱状态)2333。

回顾

今年有点堕落,不过还是简单罗列一下吧:

  1. DDD 领域驱动设计,根据公司业务重新进行规划对象,使对象成为有血有肉的对象,编排事件,业务可以使用事件处理的话,只需要订阅即可
  2. TDD 开发模式,代码不再简单的代码而是有测试用例
  3. 设计模式的学习以及在业务中的应用
  4. Spring-Cloud 部分新学 Contract 以及 Stream 配合第一二点进行使用
  5. orm 层不再局限于 mybatis 而是根据业务选择,结合 jpa 规范进行快速开发
  6. 稍微阅读 mybatis 源码,开发与业务相关的拦截器
  7. Jenkins 自动化部署方案
  8. Activiti 6 的投入使用
  9. 大致阅读 Spring 源码,了解重要成员
  10. 前端方面使用 vue 全家桶进行开发后台管理系统,复用不再使用 cvnpm 简单入门使用,安装必要插件
  11. 使用 vue + eletronic 开发桌面客户端,新增常用的繁琐的功能
  12. 黑苹果安装走火入魔,给公司大部分同事都换了一茬

2019 目标

去年年末给自己定下的琢磨 DDD 的目标差不多可以算完成,今年继续给自己定个目标吧

  1. 精读 Spring 源码和 mybatis 源码,结合学习 UML
  2. 完成 Spring-BootSpring-Cloud 系列文章,外加上 idea 技巧系列
  3. 整理之前已经看过的 jvm 相关知识
  4. juc 包的了解和使用

希望不会因为工作上的事情较多而忘记完成。


springboot 与 MongoDB 数据处理

一. 简述

MongoDB 是一款新兴的 NO-SQL 数据库,使用的是类 JSON 的数据格式 BSON 进行数据存储。MongoDB 将索引放在内存中,因此查询的时候会大幅度提高速度。在数据库领域中,MongoDB 适合单表的或者说 Column 不需要高度统一的业务处理中,比如:用户娱乐信息表(在商城的用户信息中存储的用户兴趣、用户QQ等等)。MongoDB 对事务支持度不算太高,日常需求需要连表操作的就不要放在 MongoDB 了。

SpringBootMongoDB 提供了 starterJavaer 能够更加简单的操作 MongoDB 数据库的信息。

项目地址:https://github.com/WeidanLi/spring-boot-tutorial
项目演示:spring-boot-data-mongo

阅读更多


SpringBootJpa 与 DDD 开发

SpringBootJpa 与 DDD 开发

一. 简述

DDD 开发,相信开发几年的工程师一般都会知道这个名词了。还原面向对象的本质,用代码诠释业务。由 Eric Evans 提出但是响应起来并不是很简单。

知道 DDD 的都知道,使用集合型 orm 框架来开发会更加觉得顺手,mybatis 就不大合适了。所以 Spring 公司对 jpa 加入了一些支持。

DDD 几句话并不能讲清楚,这里就只是提供简单 Demo 和思路。

阅读更多


SpringBoot 与 jpa 的简单使用

SpringBoot 与 jpa 的简单使用

一. 简述

jpa 全称 javax.persistence.annotation ,刚开始是由 hibernate 作者开发,后面被 java 公司收入到规范之中。spring-boot-data-jpa 就是在这套规范上面建立起来的。所以开发的时候默认的 orm 框架就是 hibernate

在刚开始接触编程的时候,万事以快为主,但其实现在我感觉开发体验更加重要。mybatis 是个封装比较少的框架,速度会略胜一筹,但 hibernate 开发数据库的时候会显得更加面向对象。当然两者都可以在不同的业务需求中体现其重要性。

简单的开发区别就是,把 hibernate 框架的 repository 当成一个集合来使用,使用起来就更加的得心应手。mybatis 则更加的面向过程,自主控制 SQL 的运行。

阅读更多


spring-boot 使用 aop

spring-boot 使用 aop

一. 简述

AOP 是一种热门的编程模式,用途十分广泛,可以作为日志的记录、事件订阅。

主要的方式是通过 Aspect 框架,将与项目无太大关联的但是每个方法又都需要做的事情给抽取到一个类里面。然后使用 IOC 容器调用方法之前之后或者抛异常以后,跳入指定的方法执行

Aspect 框架定义了很多种切入模式,基本涵盖编程需求,有跳入方法之前之后执行的,环绕方法执行的,抛异常执行的等。

阅读更多


springboot 日志使用(LogBack)

springboot 日志使用(LogBack

一. 简述

web 开发中,大大小小的 bug 是难以避免的。这时候,记录起来的日志就可以用来解决问题或者回滚。当然日志也可以用来查询用户操作的东西,以便甩锅(刚刚说完我就接到了一个产品被认为设置成 330 元的日志查询任务,他应该是 30 元以内的)。

阅读更多


springboot 的多配置环境配置

springboot 的多配置环境配置

一. 简述

多环境配置,这个东西无论在大厂小厂都是需要的,因为往往我们开发环境、测试环境、生产环境都不一样。数据库连接不说别的,起码 url 是不一样的。当然做法也有很多,可以通过 properties ,也可以通过 mvn 的配置以及 springprofile 方式。

Github地址:https://github.com/WeidanLi/spring-boot-tutorial
演示项目:globle-profiles

阅读更多


springboot 与 security 保护 web 安全

springboot 与 security 保护 web 安全

一. 简述

web 项目,权限的事情就常常伴随着左右,比如某个用户有没有资格访问这个资源,常用的权限框架一般有 shriospring-security 。一般来说,很多公司会选择前者,因为会稍微轻量级(其实我为了写这篇文章稍微学习一下 spring-security 也有这种感觉,spring 公司把用户权限等等都已经提供了接口,不利于我们自己定制化,有好有坏吧,熟悉的话快速开发是个不错的选择)。当然现在我有种比较喜欢 spring 的全家桶的感觉,毕竟开发起来很面向对象。而且自家的产品,跟自己搭配起来,都会很简单的就起来了。

阅读更多