领域驱动设计(DDD)知识点整理

Eric Evans的“Domain-Driven Design领域驱动设计”简称 DDD,DDD 是一套综合软件系统分析和设计的面向对象建模方法,相比于面向对象设计(OO),DDD 是一种更加注重业务边界的设计方法,OO 更加注重抽象,从差异中寻找共同点,然后进行抽象,这是两种不同的思维方式。可以简单的理解为 DDD 是一种业务+解耦的设计实现,DDD 的业务边界思维能够很好的支持微服务拆分,与近些年提出的微服务理论不谋而合 。本文将描述领域驱动设计(DDD)的基础知识,以及 DDD 项目的基础项目结构。

Spring Security系列(五)——Oauth2使用JWT生成Token无法指定授权范围的解决方法

写在前面Spring Oauth 提供了对 jwt 的支持,要实现 jwt 功能很简单,但是在指定授权范围时将会遇到无法指定授权范围的问题,本文主体描述的是如何解决这个问题。本文依赖环境:<!-- spring-security-oauth2 2.3.4.RELEASE --><d

hexo博客SEO进阶 - url设置和百度url提交、百度访问量统计

写在前面在前面的文章已经详细描述了怎么配置hexo、修改主题、发表文章等功能,本文主要描述一下hexo博客的有关链接提交和url的设置的内容,然后补充了个百度统计功能。随着我博客的使用可能会不断更新,文章可能还有很多不足,请大家谅解,欢迎大佬提意见。本文使用的东西win10电脑hexo 4.0.01

hexo-admin插件windows系统插入图片失败问题解决,hexo-admin汉化,以及插件的一点点优化

写在前面本人win10系统,在使用插件时插入图片遇到了图片插入裂图的问题,在网上找了一下教程都无法解决,只有说手动改路径,但是我觉得手动改太麻烦,于是开始翻源码,被我找到了问题所在,顺便根据个人喜好做了一点点修改。文章可能还有很多不足,请大家谅解,欢迎大佬提意见。附带插件GitHub地址:hexo-

Git安装与配置

写在前面听说GitHub的Pages可以用来搭建个人博客,使用到了Git这个软件,所以我尝试了,写了一篇文章记录一下,以防以后忘记,也希望可以给有需要的朋友提供一点帮助。文章可能还有很多不足,请大家谅解,欢迎大佬提意见。本文使用的东西win10系统的电脑Git 2.24.01.什么是Git?Git

Node.js安装和数据源的配置

写在前面本人并没有用到node.js进行什么开发,在使用GitHub+HEXO搭建个人博客时用到了这个东西,因为要设置国内镜像,所以记录一下,以防以后忘记了。 文章可能还有很多不足,请大家谅解,欢迎大佬提意见。本文使用的东西win10系统的电脑Node.js 12.13.11.下载与安装1.1下载N

Apache ignite笔记(二)——持久化

本文环境:Apache ignite 2.8.0jdk 1.8.0_241一、开启持久化java方式:// Ignite persistence configuration.DataStorageConfiguration storageCfg = new DataStorageConfigurat

JVM系列(一)——类加载器以及双亲委托机制

写在前面本文主要介绍了四种类加载器,以及算清委托机制。文章可能还有很多不足,请大家谅解,欢迎大佬提意见。本文使用到的东西java1.类加载器1.1 类加载器作用:类加载器负责从文件或者网络中加载Class信息,加载的类信息存放于方法区的内存空间。1.2 启动类加载器(BootStrap ClassL

java取得对象占用的内存大小

Instrumentation类提供了编写Java编程语言代码所需的服务。 Instrumentation是将字节码添加到方法中,以收集工具使用的数据。由于这些更改纯粹是通过代理方式附加的,因此这些工具不会修改应用程序状态或行为。此类工具的示例包括监视代理、探查器、覆盖率分析器和事件记录器。

提交jar到Maven中央仓库

Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。 中央仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。一般来说,简单的Java项目依赖的构件都可以在这里下载到。 我们可以将自己开源的工具包上传到Maven中央库上,供开发人员使用,本文将详细描述如何进行Jar上传等步骤。

Shiro系列(一)——Shiro + Springboot + JWT 整合

本文的出现表示不再进行 Spring Security Oauth 实现的研究了,原因是原开源项目已经被废弃了不再更新了,而且 Oauth 实现的内容有些奇怪,新的项目 spring-authorization-server 目前才发布到 0.1.0,默认只提供了基于内存的实现,个人认为还不是很完善,不适合用到项目中。而且 Spring Security 的 Oauth 流程都实现了,要修改还得从新研究 spring-authorization-server 的实现逻辑,然后进行修改定制,太耗费精力了,不如使用 Shiro 自己实现 Oauth 的逻辑。 本文作为 Shiro 入门文章,主要描述 Shiro 如何整合 JWT 实现登录校验问题,还有 Shiro 的认证+授权模式对 JWT 并不是很友好。

SpringBoot统一响应格式带来的String双引号问题和类型强转失败问题解决

在开发中,经常会有一个自定义输出数据格式的场景,此时如果用到 ResponseBodyAdvice 做全局的数据格式控制,在响应纯字符串数据时可能会遇到某些奇怪的问题,本文描述了两个和 String 相关的问题的解决方案,内容可能和网上的其他有些不同,问题较简单,纯记录贴。 1. XXXX cannot be cast to java.lang.String 问题; 2. 响应的字符串携带双引号问题。

Shiro系列(二)——Shiro 多 Realm 实现

本文基于上一篇文章《 Shiro + Springboot + JWT 的整合》延续,示例项目也是在上篇文章的基础上扩展而来的。 一个系统一般都具有多种用户类型,如管理员、普通用户和运营者账号等,这些用户都存储在不同的表中。当然,通过对 Token 的内容进行条件判断,一个 Realm 是可以直接实现多个账号登录的,但是这样将导致不同用户的登录完全耦合在一起,这不是我们想看到的,所以有了多 Realm 的需求,并且 Shiro 是支持多 Realm 的。 但是如果有多个 Realm,Shiro 将对每个都进认证,而我们希望的是管理员。用户等都只调用自己的 Realm,所以对这些地方的逻辑要稍微做些改动。

Springboot修改默认异常处理

1. 继承BasicErrorController继承BasicErrorController可实现修改默认的全局异常处理,复写error方法修改Rest请求的修改,复写errorHtml实现修改错误处理视图。package com.nineya.user.controller;import com

Spring Security系列(三)——WebFlux配置方式以及多登陆入口实现

本文场景: 使用Spring Security做权限控制,系统包含普通用户和系统管理员两种类型,希望有不同的登录入口;并且在Spring Gateway上配置,Gateway使用的是WebFlux,无法兼容MVC,所以使用WebFlux配置Security。纯记录,目前项目还是小demo,贴的示例代