# zxcodeindex-test-java **Repository Path**: yysimple/zxcodeindex-test-java ## Basic Information - **Project Name**: zxcodeindex-test-java - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-21 - **Last Updated**: 2026-03-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ZxCodeIndex Java 测试项目 这是一个用于测试 ZxCodeIndex 代码分析能力的 Java Spring Boot 项目。 ## 项目结构 ``` zxcodeindex-test-java/ ├── pom.xml # Maven 配置 └── src/main/java/com/example/ ├── Application.java # Spring Boot 主类 │ ├── model/ # 实体模型 │ ├── User.java # 用户实体(JPA、验证注解) │ ├── UserProfile.java # 用户档案(一对一关系) │ ├── Address.java # 地址(嵌入类型) │ ├── Order.java # 订单实体(状态机) │ ├── OrderItem.java # 订单项 │ ├── Product.java # 商品实体 │ ├── ProductImage.java # 商品图片 │ ├── Tag.java # 标签(多对多关系) │ ├── UserRole.java # 用户角色枚举 │ ├── OrderStatus.java # 订单状态枚举 │ └── ProductStatus.java # 商品状态枚举 │ ├── service/ # 服务层 │ ├── UserService.java # 用户服务 │ ├── OrderService.java # 订单服务 │ ├── EmailService.java # 邮件服务 │ ├── NotificationService.java # 通知服务 │ ├── SmsService.java # 短信服务 │ └── PushService.java # 推送服务 │ ├── repository/ # 数据访问层 │ ├── UserRepository.java # 用户 Repository │ ├── OrderRepository.java # 订单 Repository │ └── ProductRepository.java # 商品 Repository │ ├── controller/ # 控制器层 │ ├── UserController.java # 用户控制器 │ └── OrderController.java # 订单控制器 │ ├── exception/ # 异常类 │ ├── BusinessException.java # 业务异常 │ └── ResourceNotFoundException.java # 资源不存在异常 │ ├── config/ # 配置类 │ └── WebConfig.java # Web 配置(CORS) │ └── util/ # 工具类 └── StringUtils.java # 字符串工具类 ``` ## 覆盖的 Java 场景 ### 1. 类与接口 - [x] 实体类(@Entity) - [x] 嵌入类(@Embeddable) - [x] 枚举类(enum) - [x] 接口实现(WebMvcConfigurer) - [x] 抽象方法 - [x] 静态方法 - [x] 构造函数(默认、带参) ### 2. 继承关系 - [x] 单继承(extends) - [x] 接口实现(implements) - [x] RuntimeException 继承链 - [x] 枚举继承 Enum ### 3. 方法调用 - [x] 同类方法调用 - [x] 跨类方法调用 - [x] 静态方法调用 - [x] 链式调用(StringBuilder) - [x] Stream API 调用 - [x] Lambda 表达式 ### 4. 导入关系 - [x] 单类导入(import xxx) - [x] 批量导入(import xxx.*) - [x] 静态导入(import static) - [x] 同包导入 - [x] 跨包导入 ### 5. 注解 - [x] JPA 注解(@Entity, @Table, @Id 等) - [x] 关系注解(@OneToMany, @ManyToOne 等) - [x] 验证注解(@NotBlank, @Email 等) - [x] Spring 注解(@Service, @Repository 等) - [x] Web 注解(@RestController, @RequestMapping 等) - [x] 生命周期注解(@PrePersist, @PreUpdate) ### 6. 泛型 - [x] 泛型类(Page, List) - [x] 泛型方法 - [x] 泛型边界 - [x] 通配符(? extends, ? super) ### 7. 异常处理 - [x] try-catch-finally - [x] throw 异常 - [x] throws 声明 - [x] 自定义异常 - [x] 异常继承链 ### 8. 访问修饰符 - [x] public - [x] protected - [x] private - [x] package-private(默认) ### 9. 字段类型 - [x] 基本类型(int, long, boolean) - [x] 包装类型(Integer, Long, Boolean) - [x] String - [x] BigDecimal - [x] LocalDateTime - [x] 集合(List, Map) - [x] 数组 ### 10. 控制流 - [x] if-else - [x] switch-case - [x] for 循环 - [x] while 循环 - [x] do-while - [x] foreach - [x] return - [x] break/continue ### 11. Spring 特性 - [x] 依赖注入(@Autowired) - [x] 构造函数注入 - [x] Bean 定义(@Bean) - [x] 配置类(@Configuration) - [x] 事务管理(@Transactional) - [x] REST 控制器 - [x] 请求映射 - [x] 请求验证(@Valid) ### 12. JPA/Hibernate - [x] 实体映射 - [x] 主键生成 - [x] 一对一关系 - [x] 一对多关系 - [x] 多对多关系 - [x] 级联操作 - [x] Repository 接口 - [x] 查询方法派生 - [x] @Query 注解 - [x] 原生 SQL 查询 ## 运行测试 ### 1. 启动 Neo4j ```bash cd /Users/mac/PycharmProjects/zxcodeindex docker-compose up -d ``` ### 2. 运行索引测试 ```bash cd /Users/mac/PycharmProjects/zxcodeindex python test_java_project.py ``` ### 3. 查看结果 访问 Neo4j Browser: http://localhost:7474 运行查询: ```cypher // 查看所有类 MATCH (c:Class) RETURN c.name, c.filePath LIMIT 20; // 查看继承关系 MATCH (child)-[:EXTENDS]->(parent) RETURN child.name, parent.name; // 查看方法调用 MATCH (m1:Method)-[:CALLS]->(m2:Method) RETURN m1.name, m2.name LIMIT 20; // 查看文件导入 MATCH (f1:File)-[:IMPORTS]->(f2:File) RETURN f1.filePath, f2.filePath LIMIT 20; ``` ## 预期结果 ### 应检测到的类(部分) | 类名 | 类型 | 文件 | |-----|------|-----| | User | Entity | model/User.java | | Order | Entity | model/Order.java | | Product | Entity | model/Product.java | | UserService | Service | service/UserService.java | | OrderService | Service | service/OrderService.java | | UserController | Controller | controller/UserController.java | ### 应检测到的继承关系 | 子类 | 父类/接口 | |-----|---------| | BusinessException | RuntimeException | | ResourceNotFoundException | RuntimeException | | WebConfig | WebMvcConfigurer | ### 应检测到的方法调用链 ``` UserController.createUser() → UserService.createUser() → UserRepository.existsByUsername() → UserRepository.save() → EmailService.sendWelcomeEmail() ``` ## 统计(预期) | 类型 | 数量 | |-----|------| | Java 文件 | 27 | | 总代码行数 | ~2,895 | | 类定义 | ~20 | | 方法定义 | ~150 | | 枚举定义 | 3 | | 继承关系 | ~5 | | 方法调用 | ~200+ | | 导入关系 | ~50 | --- **创建时间**: 2026-03-20 **用途**: ZxCodeIndex Java 解析能力测试