krain.
码龄5年
关注
提问 私信
  • 博客:68,890
    动态:16
    68,906
    总访问量
  • 40
    原创
  • 1,790,484
    排名
  • 21
    粉丝
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2020-05-06
博客简介:

krain的博客

查看详细资料
个人成就
  • 获得56次点赞
  • 内容获得10次评论
  • 获得245次收藏
  • 代码片获得412次分享
创作历程
  • 5篇
    2022年
  • 7篇
    2021年
  • 30篇
    2020年
成就勋章
TA的专栏
  • No bug
    7篇
  • 设计模式
    4篇
  • Mybatis
    6篇
  • 算法设计与分析
    6篇
  • 软件项目管理
    1篇
  • Spring Boot
    6篇
  • Dubbo
    1篇
  • Redis
    1篇
  • SSM项目实战
    1篇
  • SpringMVC
    2篇
  • Git
  • Spring
    4篇
  • 笔记
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

183人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

前端发送含参Get请求浏览器报“status“: 400, “error“: “Bad Request“错误

1. 错误描述1.1 后端报错HttpMessageNotReadableException: Required request body is missing1.2 浏览器报错“status“: 400, “error“: “Bad Request“2. 原因当前端使用Get请求方式发送含参请求时,后端Controller接收参数时不同使用@RequesrBody注解。而应该使用如下方式: @GetMapping("/info") @ApiOperation("通过用户toke
原创
发布博客 2022.05.07 ·
2331 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

七大设计原则

1. 开闭原则1.1 定义对修改关闭,对扩展开放。含义:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。1.2 类图2. 里氏替换原则2.1 定义继承必须确保超类所拥有的性质在子类中仍然成立。里氏替换原则主要阐述了有关继承的一些原则,也就是什么时候应该使用继承,什么时候不应该使用继承,以及其中蕴含的原理。里氏替换原则是继承复用的基础,它反映了基类与子类之间的关系,是对开闭原则的补充,是对实现抽象化的具体步骤的规范。里氏替
原创
发布博客 2022.03.29 ·
237 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

(三)行为型设计模式

1. 策略模式1.1 问题背景分析在现实生活中常常遇到实现某种目标存在多种策略可供选择的情况,例如,出行旅游可以乘坐飞机、乘坐火车、骑自行车或自己开私家车等,超市促销可以釆用打折、送商品、送积分等方法。在软件开发中也常常遇到类似的情况,当实现某一个功能存在多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能,如数据排序策略有冒泡排序、选择排序、插入排序、二叉树排序等。如果使用多重条件转移语句实现(即硬编码),不但使条件语句变得很复杂,而且增加、删除或更换算法要修改原
原创
发布博客 2022.03.29 ·
608 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

(二)结构型设计模式

1. 适配器模式1.1 定义将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。对象适配器应用较多。1.2 结构与实现类适配器模式:可采用多重继承方式实现,Java不支持多继承,但可以定义一个适配器类来实现当前系统的业务接口,同时又继承现有组件库中已经存在的组件。对象适配器模式:可釆用将现有组件库中
原创
发布博客 2022.03.29 ·
493 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

(一)创建型设计模式

1. 工厂模式定义:定义一个创建产品对象的工厂接口,将对象的创建工作推迟到具体子工厂类当中,使其满足创建与使用相分离这一特点。1.1 简单工厂模式1.1.1 问题背景分析现实生活中,原始社会自给自足(没有工厂),农耕社会小作坊(简单工厂,民间酒坊),工业革命流水线(工厂方法,自产自销),现代产业链代工厂(抽象工厂,富士康)。我们的项目代码同样是由简到繁一步一步迭代而来的,但对于调用者来说,却越来越简单。在日常开发中,凡是需要生成复杂对象的地方,都可以尝试考虑使用工厂模式来代替。1.1.2
原创
发布博客 2022.03.29 ·
658 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

软件项目管理复习

1. 软件项目管理概述1.1 项目管理的知识领域软件集成管理软件进度管理软件范围管理软件成本管理软件质量管理软件风险管理软件沟通管理软件资源管理软件采购管理软件干系人管理1.2 过程管理在软件项目中的重要性软件产品不同于普通产品,它是高度逻辑化的聚合体;因此软件产品质量的好坏不受物理实体的影响,而仅仅受生产工艺的影响,生产工艺在软件开发中的术语就是软件过程,因此软件的过程管理对软件产业的发展非常重要。软件过程管理有助于软件组织对过程资产进行有效管理,使之可以重用于实际项目
原创
发布博客 2021.06.15 ·
1658 阅读 ·
2 点赞 ·
3 评论 ·
13 收藏

算法设计与分析——分支限界法

文章目录1. 分支界限法1.1 基本思想1.2 搜索策略1.3 队列式1.4* 优先队列式2. 典型案例2.1 装载问题2.1.1 问题描述2.1.2 约束函数和限界条件2.1.3 队列式分支界限法求解(案例解释)2.1.4 案列二2.1. 代码实现3. 回溯法与分支限界法异同c++中 friend的用法1. 分支界限法1.1 基本思想对有约束条件的最优化问题的所有可行解(数目有限)空间进行搜索。该算法在具体执行时,把全部可行的解空间不断分割为越来越小的子集(称为分支),
原创
发布博客 2021.06.09 ·
5706 阅读 ·
3 点赞 ·
0 评论 ·
61 收藏

算法设计与分析——回溯算法

文章目录1. 回溯算法1.1 基本思想1.2 回溯法与分支界限法的异同2. 典型案例2.1 装载问题2.1.1 问题描述2.2 .2 约束函数与上界函数2.2.3 举例解释2.2.4 复杂度2.2 n皇后问题2.2.1 思路总结2.2.2 代码实现1. 回溯算法1.1 基本思想回溯法的基本做法是搜索,在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层
原创
发布博客 2021.06.09 ·
764 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

算法设计与分析——贪心算法

文章目录1. 贪心算法1.1 定义1.2 基本要素1.3 基本思想1.4 特点2. 典型案例2.1 背包问题(物品可分割)2.1.1 问题描述2.1.2 问题转换2.1.3 问题求解步骤2.2 背包问题与0-1背包问题的区别2.3 贪心算法可以求解背包问题,那么能不能用贪心算法求解0-1背包问题?若不能,为什么?去反例说明。2.4 最优装载问题2.4.1 问题描述2.4.1 问题转化2.4.2 贪心选择策略2.4.2 代码实现1. 贪心算法1.1 定义在求解最优解问
原创
发布博客 2021.06.09 ·
3138 阅读 ·
2 点赞 ·
0 评论 ·
14 收藏

算法设计与分析——动态规划

文章目录1. 动态规划1.1 基本思想1.2 设计步骤1.3 两个要素(特征)1.4 动态规划实质2. 典型算法案例2.1 最长单调递增子序列2.1.1 问题描述2.1.1 递归方程2.1.2 代码实现2.2 0-1背包问题2.2.1 问题描述2.2.1. 递归方程2.2.3 复杂度2.2.4 代码实现2.3 矩阵连乘积问题2.3.1 问题描述2.3.2 建立递推公式2.3.3 复杂度2.3.3 代码实现3. 动态规划与分治法区别4. 动规与分支对问题进行分解时各
原创
发布博客 2021.06.09 ·
2302 阅读 ·
0 点赞 ·
1 评论 ·
10 收藏

算法设计与分析——递归与分治策略

文章目录1. 递归算法1.1 特点1.2 优缺点2. 分治策略2.1 基本思想2.2 适用的条件2.3 求解过程(步骤)3. 典型算法案例3.1 二分搜索3.1.1 非递归实现3.1.1 递归实现3.2 棋盘覆盖问题1. 递归算法1.1 特点1.2 优缺点优点:结构清晰、可读性强缺点:运行时效率较低,耗费较多的时间、空间资源2. 分治策略2.1 基本思想分治策略的基本思想是将一个规模为n的问题分解为k个较小的子问题,这些子问题互相独立,并且和原问题相同,递归
原创
发布博客 2021.06.09 ·
3183 阅读 ·
2 点赞 ·
0 评论 ·
29 收藏

算法设计与分析——概述(算法的复杂度)

一、如何求算法的时间复杂度其实就是计算最深层次执行语句的执行次数,根据循环结束条件计算出语句的执行次数,该执行次数与n有关,得出一个含n的多项式,取最高次项,其他舍去。
原创
发布博客 2021.06.09 ·
187 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

struts2国际化解决中文乱码问题

在学习struts2的国际化时自己试了一下实例发现中文出现了乱码,国际化文件与页面如下图:网上有方法说使用jdk的native2ascii.exe对文件转码,然而这个方法并不简单native2ascii -encoding UTF-8 GlobalMessages.properties NewGlobalMessage.properties实际上还是文件idea对文件编码的问题,在Settings中改一下设置就好,方法如下:File -> Settings -> Editor -&g
转载
发布博客 2020.10.05 ·
467 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

Spring Boot(六)springboot模板引擎——Thymeleaf

一、Thymeleaf简介  Thymeleaf 是一个流行的模板引擎,该模板引擎采用 Java 语言开发 模板引擎是一个技术名词,是跨领域跨平台的概念,在 Java 语言体系下有模板引擎,在 C#、PHP 语言体系下也有模板引擎,甚至在 JavaScript 中也会用到模板引擎技术,Java 生态下的模板引擎有 Thymeleaf 、Freemaker、Velocity、Beetl(国产) 等。  Thymeleaf 对网络环境不存在严格的要求,既能用于 Web 环境下,也能用于非 Web 环境下。在
原创
发布博客 2020.08.25 ·
459 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

SpringBoot(五)springboot项目中使用拦截器——实现对未登录请求的拦截

一、创建Controllerpackage cn.krain.springboot.web;import cn.krain.springboot.model.User;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.Response
原创
发布博客 2020.08.25 ·
2093 阅读 ·
2 点赞 ·
1 评论 ·
17 收藏

SpringBoot(四)关闭和修改SpringBoot程序启动Logo

一、SpringBoot程序启动默认logo二、关闭logo  修改SpringBoot主程序。package cn.krain.springboot;import org.springframework.boot.Banner;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootAp
原创
发布博客 2020.08.25 ·
405 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

SpringBoot(三)springboot集成Dubbo——注解式配置

一、Dubbo  dubbo初体验,小白级入门案例  在SpringBoot中集成Dubbo,无需再写繁琐的xml配置文件,直接使用注解及其属性进行配置即可。二、创建Interface、Provider、Consumer三个工程interface工程只需要是一个普通的maven java工程即可,provider和consumer需要是SpringBoot工程。三、在Provider、Consumer工程的pom文件中加入依赖pom.xml<dependencies>
原创
发布博客 2020.08.24 ·
1633 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Dubbo(一)dubbo初体验,小白级入门案例

Dubbo一、简介1、dubbo是一个轻量级Java RPC框架,用于分布式系统的开发RPC全称Remote Procedure Call,远程过程调用。是一种进程间的通信方式,是一种技术思想,而不是规范。它允许程序调用另一个地址空间(网络的另一台机器上)的过程或函 数,而不用开发人员显式编码这个调用的细节。调用本地方法和调用远程方法一样。分布式系统分布式系统是若干独立计算机(服务器)的集合,这些计算机对于用户来说就像单个相 关系统,分布式系统(distributed system)是建
原创
发布博客 2020.08.24 ·
325 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Spring Boot(二)springboot集成redis,实现基本的存取值

一、在pom文件中加入redis依赖<!--springboot项目集称redis依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>二、启动Redis三、关闭防火墙,使用图形界面工具连接到
原创
发布博客 2020.08.24 ·
2181 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:***Fatal error compiling无效的标记

问题描述:idea中使用maven命令打包项目时出错。Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project 036-springboot-war: Fatal error compiling: 无效的标记: -parameters -> [Help 1]解决方法:  产生该错误的原因是jdk版本不一致造成的;需要保证Proje
原创
发布博客 2020.08.19 ·
693 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多