- spring的配置类中内嵌一个自己类的镜像属性,并提供静态方法,用于外部静态类或者静态方法可以直接获取spring环境application.yml中的属性值
- 核心是定义一个静态属性INSTANCE,类型是类的自己
- PostConstruct注解修饰init方法,对静态属性赋值为this
@Data
@Configuration
@ConfigurationProperties(prefix = "xxx.config")
public class EosScanConfig {private volatile String cookie;private volatile String ssoAppKey;private volatile String ssoAppToken;private volatile String loginAccountErp;private volatile String loginAccountPassword;private final String HOST = "http://xxx.xxx.com";// 静态属性,类型为该类自身private static EosScanConfig INSTANCE;// 初始化方法@PostConstructpublic void init() {INSTANCE = this;}// 静态方法获取实例public static EosScanConfig getInstance() {return INSTANCE;}
}
- 其他静态类中使用
private static EosScanConfig config = EosScanConfig.getInstance();