SpringBoot
飞客不去
这个作者很懒,什么都没留下…
展开
-
基于SpringBoot监控Java项目,暴漏springboot内置端点
基于SpringBoot监控Java项目的指标遇到很多想要查看项目运行期间的相关监控数据的情况,基于此种需求做出一个较简单但准确的方案,使用springboot自带的端点来监控。监控java项目有哪些方案在启动的时候添加额外的监控jar包,使用代理来获取监控数据 参考 阿里云自己写一个项目内采集监控数据的接口,参考 prometheus-client-java使用springboot自带的相关端口来获取内置的指标值,可以参考本文档。本文介绍简单操作的无侵入的方式springboot内原创 2020-11-26 10:09:52 · 1061 阅读 · 0 评论 -
设计模式----生成器(建造者)模式(五)
生成器(建造者)模式文章目录生成器(建造者)模式什么是生成器模式生成器模式有什么好处如何使用生成器模式生成器的四个必要对象代码实现生成器模式使用问题构建一个使用抽象生成器的对象(MustBuilder)是否必要对于产品实例的引用位置总结什么是生成器模式生成器模式:封装了一个复杂产品的构建过程,并允许按照步骤构造。生成器模式将一个对象的复杂构建,拆分一个一个的步骤,可以根据需求按照步骤来建造这个产品。对于一些构建方式,和装配方式相互独立的时候,也可以用建造者模式。例如你想要建造一个房子,房子的构建原创 2020-06-01 17:17:32 · 260 阅读 · 0 评论 -
设计模式---抽象工厂设计模式(四)
抽象工厂模式文章目录抽象工厂模式什么是抽象工厂如何使用抽象工厂实现抽象工厂的必要条件抽象工厂的其他用法抽象工厂和工厂模式的区别抽象工厂的优缺点总结什么是抽象工厂提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。之前分享学习了工厂模式,这两种模式经常被拿来一起说明,其实用途差不多,只不过抽象工厂和工厂模式的作用范围不一样,在文章最后会将这两个模式坐下对比。如何使用抽象工厂抽象工厂用于创建一类产品,针对的是一个家族比如我有两大类产品,这两种产品是可以相互结合起来使用的,比如原创 2020-05-29 18:22:09 · 156 阅读 · 0 评论 -
SpringMVC的参数校验以及@Valid相关注解的使用和自定义
SpringMVC参数校验文章目录SpringMVC参数校验springMVC 的基本参数校验使用@RequestParam 注解控制请求参数@RequestParam的使用使用JSR-303验证框架如何使用验证框架相关注解如何使用框架的高级用法框架的扩展自定义校验结语springMVC 的基本参数校验使用@RequestParam 注解控制请求参数在写控制层的接口时,我们需要对前端或者接口访问者进行访问参数的校验,如果将参数的校验逻辑写到控制层的代码里,会造成代码重复,资源浪费,不美观。对于控原创 2020-05-28 14:04:06 · 1129 阅读 · 0 评论 -
设计模式---工厂方法模式(三)
工厂方法模式文章目录工厂方法模式工厂模式是什么工厂模式的好处如何实现工厂模式的优化和拓展注意点和区别工厂模式是什么在JAVA中,创建一个新的实例,最直接的方法就是new一个,没有对象怎么办,new一个就有了。除了new一个实例外,还有很多种创建实例的方法,比如之前所说的,单例模式,原型模式,一个是固定从一个方法中获取一个实例,一个是通过已有克隆出一个实例,这两个应用场景完全相反,但是便利之处可以学习,由此便有了工厂模式,从固定的一个方法中获取实例,由方法内部根据你每次的请求,帮你创建克隆或者什么地方给原创 2020-05-28 10:58:54 · 151 阅读 · 0 评论 -
设计模式---原型模式(二)
设计模式—原型模式(二)文章目录设计模式---原型模式(二)原型设计模式是什么解决什么问题使用以及实现使用问题代码地址原型设计模式是什么当创建给定类需要很大的代价,或者资源消耗的时候,通过复制已有对象的方式创建一个新对象通过给定一个基础类,从而在其基础上衍生出来具有其他功能的其他类也算是原型设计,例如以水为原型,加咖啡粉,茶叶,制造出来咖啡,绿茶等。特点在于通过“复制”一个已经存在的实例来返回新的实例,而不是新建实例解决什么问题创造一个新对象或新实例,需要消耗很大的资源通过 new 产原创 2020-05-25 18:33:15 · 155 阅读 · 0 评论 -
java过滤器全局解析token
java过滤器全局解析token文章目录java过滤器全局解析token使用过滤器定义一个全局的token解析器一般接口定义全局AOP解析接口使用注解@RequestHeader我的需求以及方法需求和现状实践注意点使用过滤器定义一个全局的token解析器在进行后端接口的开发过程中,一般涉及到人员用户,权限或者安全方面的考虑接口都会使用token来传递用户或者一些安全系数高的鉴权参数等。一般接口定义全局AOP解析使用AOP,对需要获取token信息的接口,进行方法增强,在进入controller之原创 2020-05-23 16:53:34 · 2915 阅读 · 0 评论 -
SpringBoot全局错误处理的两种方式:注解法和覆盖路径法
SpringBoot全局错误处理的两种方式:注解法和覆盖路径法文章目录SpringBoot全局错误处理的两种方式:注解法和覆盖路径法引言SpringBoot全局错误处理第一种方法:注解法注解使用SpringBoot全局错误处理第二种方法:覆盖路径法实现逻辑:实现方法两种方式的区别总结以及回答上面的方法引言对于系统中的异常处理是一个大问题,需要考虑几个问题,文后回答代码中的异常什么时候该抛...原创 2020-04-15 11:35:30 · 1398 阅读 · 0 评论 -
单元测试,集合的toString相同,而值不同,对象比较的坑
单元测试前言最近在写代码的单元测试,说实话,这个单元测试的代码量跟开发的代码还要多,主要是模拟数据比较麻烦,在写单元测试的过程中遇到了一个坑想要分享一下,首先我写单元测试用的最多的就是断言Assert类的方法,所以就从这个类的方法讲起问题首先说问题,在使用IDEA写单元测试时,assertEquals(集合A,集合B);会报异常,集合A和集合B包含的元素类型一样,集合大小一样,并且会在控制...原创 2019-10-28 19:31:27 · 988 阅读 · 1 评论 -
SpringMVC 控制层的单元测试写法
文章目录@[toc]测试MVC对MVC进行单元测试代码MVC测试的细节以及更多用法模拟MVC请求比较MVC的返回结果:测试MVC对MVC进行单元测试代码@RunWith(SpringRunner.class)//需要测试的Controller@WebMvcTest(UserController.class)public class UserControllerTest{ @...原创 2019-10-26 16:33:11 · 706 阅读 · 1 评论 -
SpringMVC过滤,或序列化时指定返回对象的某些属性,以及Jackson的相关注解使用
文章目录@[toc]SpringMVC过滤(指定返回)对象的某些属性为什么要过滤对象的某些属性方法以及代码如下相关方法以及注解,以及优劣使用Jackson注解:@JosnIgnore使用注解@JsonView进阶使用(一)进阶使用(二)Jackson相关注解使用使用Jackson注解:@JosnIgnore@JsonIgnoreProperties:@JsonIgnore的进阶版@JsonPro...原创 2019-10-25 16:37:50 · 2648 阅读 · 0 评论 -
jar包在windows的启动方式以及jar包窗口启动假死解决方案参考
jar包在windows使用启动方式以及假死解决方案参考windows jar包启动的几种方式介绍jar包的停止jar包在windows启动的假死状态假死状态解决办法总结原因windows jar包启动的几种方式介绍java -jar xxx.jar(jar包的路径),最普通简单的方式,通过windows的命令行窗口启动,并在命令行窗口运行,输出。可以在启动的时候增加参数指定启动的端口(se...原创 2019-07-24 11:53:08 · 5656 阅读 · 5 评论 -
swagger-ui和springboot项目结合+springboot静态资源映射
swagger-ui:Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 总体目标是使客户端和文件系统作为服务器以同样的速度来更新。 文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。官网:https://swagger.io/sprin...原创 2019-02-27 10:47:58 · 3099 阅读 · 1 评论 -
springboot yml配置文件多环境配置
在开发过程中,我们总会用到多环境开发,测试环境,开发环境和上线环境的一些参数肯定是即使不一样的,这时候就用到了多环境配置文件,今天就说一下springboot中yml配置文件,一个文件多个环境的操作。配置文件application.yml在配置文件中,我们定义很多相关的参数,例如数据库连接参数等yml文件可以用【--------】分割成文档块,在每个文档块中,可以用spring.profil...原创 2019-02-14 15:27:40 · 1941 阅读 · 0 评论