
Java
文章平均质量分 61
老衲呢
人若无名,专心练剑~!
展开
-
【爬坑记录】Swagger2 Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is NPE
这几天使用 Swagger2 + bootstrap-ui 做 API 接口,但是集成到 SpringBoot 2.6.1 后死活跑不起来,一直报空针异常解决方案查找大量资料之后发现,在 Swagger2 的github issue 看到了这个回答:issuecomment-976766376,原来在 Springboot 2.6.0 之后是不支持这种方式启动 Swagger2 的,更改为 2.5.x 版本的 Springboot 即可<!-- 整个导入 --><parent&.原创 2022-04-30 00:18:04 · 1081 阅读 · 0 评论 -
Java 程序异常、错误返回值
程序异常、错误返回值返回值类型错误码null 值空对象异常对象展开说说1. 返回错误码函数返回值预定错误码全局变量全局变量(枚举、常量等)2. 返回 NULL 值不建议使用,原因有二:忘记判空抛出空指针异常 NULL Pointer Exception,NPE。返回 null 值会使得程序逻辑变复杂(增加过多的判空操作),影响可读性但是对于基本数据类型,无法返回 NULL 值替代3. 返回空对象空字符串return "";空集合原创 2021-10-20 21:54:24 · 1179 阅读 · 2 评论 -
Swagger2 注解
Swagger2 注解原文链接:Swagger2 注解作为一个程序员,最讨厌两件事:前辈代码没有写文档!自己要去维护文档!偶然间从公司前辈那里了解到了swagger工具,可以帮助自动生成接口文档,就简单的了解一下,写了一个小demo。1. 简介swagger优势:文档自动生成。不用担心修改接口代码之后忘记更新文档的尴尬。支持在线测试。不需要再用postman等,可以直接进行测试,并获取内容。当然还有很多优势,没有研究很深入,自己体会吧。2. 集成Swagger(Spring原创 2021-08-05 17:52:31 · 267 阅读 · 0 评论 -
Java文件下载-文件名下划线
本来今天高高兴兴,写个 Excel 文件下载,功能实现了,文件名却是 **____.xlsx**、**____.xls**,瞬间裂开...原创 2021-01-25 22:09:27 · 2086 阅读 · 2 评论 -
SSM整合Shiro认证授权的时候出现 JSESSIONID
问题描述:整合 shiro 后,访问 localhost:8080 应该跳到 login.jsp 页面,但是给报了个 400,地址也转跳到了:http://localhost:8080/login;jsessionid=A9FB253EFF38D1D4F5AC835C36504DEB,自动在请求地址 url 中添加 jsessionid截图如下:解决:在配置文件中添加这段代码:<!-- 会话管理器 --><bean id="sessionManager" class=原创 2021-01-21 16:39:34 · 722 阅读 · 0 评论 -
【爬坑记录】单元测试(Junit)报错:NoClassDefFoundError: org/hamcrest/SelfDescribing
导入 Junit 的 jar 包,在单元测试中出现 java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing。解决办法:没有找到该类,下一个就好了,添加依赖就行了。下载 hamcrest 传送门:hamcrest-all-1.3.jar 下载链接分析过程翻译下来就是没有找到 org/hamcrest/SelfDescribing 这个类,详细日志如下:java.lang.NoClassDefFoundError: org/hamc.原创 2020-11-09 14:56:29 · 440 阅读 · 0 评论 -
IDEA 中没有 web Application
问题描述idea 不能创建 Java Web 项目idea中没有web application 选项(如图)解决方案CTRL+alt+shift+/,选择registry,找到javaee.legacy.project.wizard完成就可创建web项目了(idea中就有了 web application选项了)如果帮到你,麻烦点赞支持一下,谢谢你。...原创 2020-08-30 14:01:58 · 30464 阅读 · 52 评论 -
Java泛型
Java 泛型为什么要用泛型?我们先来看这么一个场景,我们来定义一个 Point 类,这是一个坐标点,其中有 x, y 两个成员变量,代码如下:class Point { int x; int y; Point(int x, int y){ this.x = x; this.y = y; }}对于这样的一类,我们创建该方法的时候,那么我就可以这样创建:public static void main(String[] args)原创 2020-08-12 15:02:07 · 465 阅读 · 0 评论 -
Java 中的 String、StringBuffer、StringBuilder 效率
Java 中的 String、StringBuffer、StringBuilder 效率《阿里巴巴 Java 开发手册》中有一条是关于字符串拼接的建议:上面说使用 + 拼接会造成资源浪费,就是消耗内存,我们就简单模拟一下。开干使用 for 循环分别对String、StringBuffer、StringBuilder进行 10000 次字符串拼接,并统计耗时。使用 String 拼接:static void StringTest() { String str = "";原创 2020-08-08 22:21:03 · 560 阅读 · 0 评论 -
创建 Bean 对象的三种方式
主要对 spring bean的管理细节进行参数,使用的案例是之前的保存账户的例子(为方便阐述,会对之前的代码进行一些调整),文末会有全部的源码。原创 2020-03-29 14:12:03 · 1044 阅读 · 0 评论 -
Spring IOC 为 MVC 解耦项目前期准备
上周写了两篇关于MVC解耦的文章,其实在 Spring 全家桶中,spring ioc 同样也是为解耦而存在,那我们就一步步的改造这个项目吧原创 2020-03-17 01:43:17 · 246 阅读 · 0 评论 -
工厂模式 + 单例模式实战
上篇文章使用工厂模式和反射为保存账户的功能进行解耦,可以决解缺少某个类时编译不出错,但是运行抛异常,从而降低耦合。原创 2020-03-09 16:18:27 · 2205 阅读 · 0 评论 -
工厂模式为 MVC 解耦
一般的解耦的思路:1. 通过反射来创建对象,而避免使用 new 关键字2. 通过读取配置文件来获取要创建对象的全限定类名原创 2020-03-07 23:07:49 · 809 阅读 · 0 评论 -
网站相关概念
网站相关概念静态网站和动态网站静态网站内容固定容易被检索没有数据库支持交互性差动态网站可以根据用户要求和选择动态改变和相应自动更新因用户的不同而不同的相应服务器简介提供服务的机器需要安装相应的软件(apche、iis)IPInternet Protocol ,互联网协议,用于互联网通讯具有唯一性域名Domain ...原创 2020-03-03 13:34:28 · 1046 阅读 · 0 评论 -
Windows Kafka 配置 -> 启动教程
Windows Kafka 启动教程修改 boker.id 和 log.dirs进入kafka目录下,新建文件夹 kafka-logs 与文件夹 zk-dir,进入config目录下,打开server.propertiesbroker.id=1log.dirs=../kafka-logs修改 zookeeper.properties找到 dataDirs,改为dataDir=../...原创 2020-02-15 18:54:51 · 1131 阅读 · 0 评论 -
Java 类加载机制(初始化顺序)
关于 Java 类初始化顺序记录。 ----摘自《Java 核心技术·卷一》。Java 类包含内容静态属性:static 定义的属性静态方法块:使用 static { ··· } 描述的方法块,也称静态代码块普通属性:未带static定义的属性普通方法块:使用 { ··· } 描述的方法块,也称代码块构造函数:类名相同的方法方法:普通方法,也称函数初始化顺序pub...原创 2019-03-29 10:52:22 · 1088 阅读 · 0 评论 -
Java 隐式参数和显式参数
概念public Employee(String n, double s) { super(); this.name = n; this.salary = s;}显式参数:显式参数是在方法中括号中声明的参数,例如:在这个方法中,n和s就是显式参数隐式参数:隐式参数表示在方法中使用,但是没有写在方法参数中也没有在方法体内声明的变量(在类中声明的变量),例如:上边方法中的nam...原创 2019-03-29 11:41:32 · 2440 阅读 · 0 评论 -
记一次初级 Android 面试
前段时间依然裸辞了,上一份工作是某事业单位,身边的朋友就不明白我为啥要辞掉那么好的工作。其实吧,我觉得对于好这个定义,一直以来都是相对的,而不是绝对的。至于明白的人都知道,事业单位办事情相对于企业而言,还是有很大差别的。比如在工作效率方面,事业单位比较稳打稳扎,效率可能比较慢。企业、公司追求效益,要求的效率极高。这也是我一直想去互联网公司看看,所以就裸辞了,到跟团队老大提离职到交接完成总共就四天。这个我还是比较诧异的。不管怎么说,能这么快离职,也是这篇博客诞生的原因。原创 2019-05-04 01:46:53 · 503 阅读 · 2 评论 -
Java 中 for 和 foreach 效率的思考
Java 中 for 与 foreach 的效率对比,事实证明,foreach 的确要比 for 效率高,其原因竟是...原创 2019-06-04 01:59:43 · 1904 阅读 · 2 评论 -
Java 设计模式 -- 单例模式
设计模式是前辈们在多年开发工作中经验的总结,可以提高代码的可重用性、可靠性和规范性,让代码更容易理解,而单例模式是在Java中最重要、最简单、最常用的设计模式之一。单例模式有两种:懒汉模式和饿汉模式。原创 2019-07-18 20:45:54 · 268 阅读 · 0 评论 -
try-catch-finally 执行顺序
序言Java 的异常捕捉通常使用 try-catch 捕捉或者 throws 抛出处理。这篇文章就来探讨下 try-catch 的一些事。try-catch 和 throws 异常处理try-catch 和 throws 处理异常一般按照,如果底层异常就往上层抛出(throws) ,上层异常 try-catch 处理。(PS:这里底层上层是面向对象的编程语言的封装程度相对而言)tr...原创 2019-09-01 10:08:17 · 1239 阅读 · 0 评论 -
类的设计技巧(OOP)
简单介绍几点让设计出来的类更有 OOP 的专业水准。 ---- 摘自《Java 核心技术·卷一》1. 一定要保证数据私有这是最重要的;绝对不要破坏封装性。有时候, 需要编写一个访问器方法或更改器方法, 但是最好还是保持实例域的私有性。很多惨痛的经验告诉我们, 数据的表示形式很可能会改 变, 但它们的使用方式却不会经常发生变化。当数据保持私有时, 它们的表示形式的变化不 会...原创 2019-03-28 11:35:49 · 1143 阅读 · 0 评论