在springboot中使用枚举类
参考:
https://wenku.baidu.com/view/3712610bb7daa58da0116c175f0e7cd184251804.html
https://blog.csdn.net/u013343616/article/details/120492725
https://blog.csdn.net/qq_20009015/article/details/103722756
枚举类大家都很熟悉,可以约束变量的类型,也可以将枚举变量映射到不同的方法,以减少令人boring的if/else方法。
那枚举类实例方法中只能写System.out.print吗?
如果我想@Autowired其他的Bean怎么办
网络上搜了下,还真能实现。
枚举类自身无法@Autowired,但是它的静态内部类可以。
@Component public enum OperateCode { SET_RELATION() { @Override void process(MetadataSyncMessage message) { SET_RELATION.service.setRelation(message.getRelation()); } },// DEL_RELATION { @Override void process(MetadataSyncMessage message) { DEL_RELATION.service.deleteRelation(message.getRelation()); } };// private Service service; abstract void process(MetadataSyncMessage message); @Component static class OperateHandler { @Autowired private Service service; @PostConstruct public void init() { OperateCode[] values = OperateCode.values(); for (OperateCode value : values) { value.service = service; } } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2021-07-28 springboot过滤器和拦截器