企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
## 说明 字典分两级,字典父类CodeClass和字典子类CodeItem。 在项目启动和字典被修改的时候,会向阿里云oss写入字典的json文件。 ## 字典常量规范 使用java静态类,避免出现魔法变量。 参加`org.coderfun.boot.core.BootDict` ## 字典读取 * java代码中使用 org.coderfun.common.dict.DictReader * jsp页面中使用 1.<%@ taglib prefix="code" uri="jstl.coderfun.common" %> 2. ${code:getName('fieldmeta','module_code')} ## 数据字典aop 配置文件,`classpath:application.xml` ``` <!-- 数据字典AOP,数据字典序列化JSON文件供前端访问 --> <bean class="org.coderfun.boot.aop.DictReaderAspect"></bean> ``` ``` @Aspect public class DictReaderAspect { private static final Logger logger = LoggerFactory.getLogger(DictReaderAspect.class); @Autowired DictReader dictReader; /** * 字典改动,重新load * * @param joinPoint */ @After("execution(* org.coderfun.common.dict.dao.*.*(..))") public void rebuildWebFrontDictReader(JoinPoint joinPoint) { String methodName = joinPoint.getSignature().getName(); if (methodName.startsWith("save") || methodName.startsWith("update") || methodName.startsWith("delete")) { logger.info("重新从数据库加载前端字典,joinPoint:{}", joinPoint.getSignature().getName()); // 重新从数据库加载前端字典 try { dictReader.buildWebFrontDictReader(); } catch (IOException e) { e.printStackTrace(); } } } } ```