microsoft免费网站wordpress 标签小工具
news/
2025/10/5 4:15:02/
文章来源:
microsoft免费网站,wordpress 标签小工具,手机建站程序源码,东莞画册设计场景复现 举个例子#xff0c;针对不同的设备的内存的不同加载一些资源的时候需要采取不同的策略#xff0c;比如#xff0c;在内存比较大的设备#xff0c;可以一次性加载#xff0c;繁殖需要使用懒加载#xff0c;这个时候我们就可以采用配置文件配置中心去控制了 Cond… 场景复现 举个例子针对不同的设备的内存的不同加载一些资源的时候需要采取不同的策略比如在内存比较大的设备可以一次性加载繁殖需要使用懒加载这个时候我们就可以采用配置文件配置中心去控制了 ConditionalOnProperty ConditionalOnProperty是Spring Boot中的一个注解它可以用来控制某个Bean的创建和激活。它的作用是通过读取配置文件中的属性值来决定是否创建或激活某个Bean。当配置文件中的属性值与ConditionalOnProperty的要求相符时才会创建或激活该Bean。 ConditionalOnProperty有以下几个参数 name要检查的属性的名称havingValue要检查的属性的值matchIfMissing如果配置文件中没有该属性是否匹配。 代码
策略类的父接口
public interface LoadModelStrategy {void loadModel(ListSpeaker speakers);
}策略类抽象类
public abstract class AbstractLoadModelStrategy implements LoadModelStrategy{public static boolean checkFileExist(String filePath) {return new File(filePath).exists();}
}实现类
Slf4j
public class LazyLoadModelStrategy extends AbstractLoadModelStrategy{Overridepublic void loadModel(ListSpeaker speakers) {log.info(懒加载);}
}
Slf4j
public class PreloadedLoadModelStrategy extends AbstractLoadModelStrategy {Overridepublic void loadModel(ListSpeaker speakers) {log.info(立即加载);}
}
配置类
Configuration
public class LoadModelConfig {BeanConditionalOnProperty(name test.strategy,havingValue lazy)public LoadModelStrategy lazyLoadModelStrategy(){return new LazyLoadModelStrategy();}BeanConditionalOnProperty(name test.strategy,havingValue preloaded)public LoadModelStrategy preloadedLoadModelStrategy(){return new PreloadedLoadModelStrategy();}
}
配置文件
test:strategy: preloaded
消费者
Slf4j
Component
ConfigurationProperties(prefix test)
public class InitConfig implements CommandLineRunner {Resourceprivate LoadModelStrategy loadModelStrategy;// 执行初始化逻辑Overridepublic void run(String... args) throws Exception {log.info(进入初始化方法);log.info(loadModelStrategy:{}, loadModelStrategy);}
}效果展示
立即加载 懒加载
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/927853.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!