Home

Swagger使用

Maven依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> ...

Read more

Java异常处理策略:重试

不限次数重试 while(true) { try { // 执行可能抛出异常的操作 break; } catch (Exception e) { log.info("尝试失败,当前重试次数:" + i + " -----异常:" + e); } } 限制次数重试 int i = 0; int tryTimes = 10; while(true) { try { // 执行可能抛出异常的操作 break; } catch (Exception e) { if (i == tryTimes - 1) { ...

Read more

YAML配置中引用其它变量

值引用 default-db: port: 3306 user-db: # 可增加默认值 port: ${default-db.port:3307} 实际效果 default-db: port: 3306 user-db: port: 3306 锚点引用所有键值对 default-db: &default-db-config host: 127.0.0.1 port: 3306 user-db: <<: *default-db-config 实际效果 default-db: host: 127.0.0.1 port: 3306 user-db: host: 127.0.0...

Read more

Spring Boot条件化注册bean

项目配置属性的值作为条件 配置的属性满足某个值,才注册这个bean language-trainer: login: oauth-enabled: false @Bean @ConditionalOnProperty(name = "language-trainer.login.oauth-enabled", havingValue = "true")

Read more

Spring Boot自定义配置属性

代码实例 Maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> yaml定义自定义属性 language-trainer: login: oauth-enabled: false 定义关联属性类 @ConfigurationProperties(pr...

Read more

Java四种引用类型

概述 Java引用类型的概念主要是为了管理对象的生命周期而存在的,引用类型主要有四种,分别为强引用、软引用、弱引用和虚引用,其中强引用即Java的原生引用,软引用、弱引用和虚引用都需要通过一个Reference对象来表示,Reference对象中的referent属性指向这个引用需要指向的对象 引用的使用 强引用 String strongReference = new String("text"); System.out.println(strongReference); 软引用 SoftReference<String> softReference = new SoftReference<>(new String("text")); Sys...

Read more

Spring IoC容器简述

IoC IoC,Inversion of Control,控制反转。可理解为原来要用到的bean需要自己创建,也就是说控制bean的创建过程。而引入IoC技术后,bean并不由使用者创建,创建的控制权转移到IoC容器 DI DI,Dependency Injection,依赖注入。更强调bean之间依赖关系的处理。实际上IoC容器在创建bean期间,必然要处理bean之间的依赖关系 IoC Service Provider IoC容器的抽象概念,负责业务对象的构建管理和业务对象间的依赖绑定。Spring IoC容器的核心部分就是一个IoC Service Provider IoC Service Provider实际功能示意图 Spring IoC容器的实现 ...

Read more

单元测试简介

概念 单元测试中的单元,意味着需要测试的对象为可测试的最小单位,一般以一个方法为测试对象 过程 进行单元测试通常需要以下步骤 搭建测试环境 准备测试用例 准备测试对象 调用测试方法 断言调用结果 相关术语 单元测试Test double详解 测试用例设计 设计测试用例,通常需要考虑 正常用例 边界用例 异常用例 特殊值用例 例子 有以下方法,功能为实现对两个整数的求商 public int divide(int a, int b) { return a / b; } 正常用例 divide(8, 2) = 4 divide(-8, 4) = -2 divide(-10, -2) = 5 ...

Read more

Java子类成员变量覆盖父类成员变量

成员变量覆盖 父类TestA public class TestA { public String name = "A"; public void out() { System.out.println(name); System.out.println(this.name); } } 子类 TestB public class TestB extends TestA { private String name; @Test public void test() { this.name = "B"; System.out.println(name); ...

Read more

Spring Cloud Gateway使用

项目依赖 项目是Spring Cloud项目,且使用Nacos作为注册中心。Spring Cloud版本为2021.0.5,Spring Cloud Alibaba版本为2021.0.5.0 Spring Cloud项目起步配置 Nacos使用 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> </dependency> <dependency> <gro...

Read more