来源:互联网 更新时间:2026-07-29 14:19
在Ja va项目里,想让Cursor生成的代码自动遵守团队约定,比如统一用Result包装返回值、Controller必须加@RestController、Service层禁止直接操作数据库,关键一步是配置Rules——不是靠口头提醒AI,而是把规范写进项目根目录的规则文件里。

先删掉旧的.cursorrules单文件,新建.cursor/rules文件夹。Cursor 2026年已默认优先读取这个目录下的.mdc文件,旧文件会被忽略。
这一步不能跳过:旧规则体系不支持按语言、模块或环境分层激活,所有规则硬塞进一个文件,AI每次都要加载全部内容,容易稀释关键约束。
在项目根目录执行:
这类规则适用于整个项目,无论打开哪个Ja va文件都生效,比如禁用System.out.println、强制返回Result封装、统一异常处理方式。
在.cursor/rules下新建001-springboot-always.mdc文件,内容如下:
```md
Rule Type: Always
### 全局禁止
- 禁止使用System.out.println、e.printStackTrace()、printStackTrace()
- 禁止在Controller层捕获业务异常,必须向上抛出由@GlobalExceptionHandler统一处理
- 禁止直接new对象,必须通过Spring容器注入或工厂方法获取
### 全局必须
- 所有HTTP接口返回值必须封装为com.example.project.common.Result
- 所有Controller类必须使用@RestController注解,禁止使用@Controller
- 所有Service接口必须定义在service包下,实现类必须放在service.impl包下
```
只在打开.ja va文件时才加载,避免污染前端或配置文件的生成上下文。
新建002-ja va-coding.mdc,写入:
Rule Type: Auto Attached
File Pattern: **/*.ja va
### 命名与结构
- 类名用PascalCase(UserService),方法/变量用camelCase(getUserById)
- 常量全大写下划线(MAX_RETRY_TIMES)
- 包名全小写点分隔(com.example.project.service)
- 不允许接口加I前缀(用UserService,不用IUserService)
### 代码风格
- 使用4空格缩进,禁止Tab
- 左大括号不换行,右大括号独占一行
- 每行≤120字符
- import按字母序排列,禁用*通配符
### 注释要求
- 类和公共方法必须有Ja vaDoc,含@author @date @param @return @throws
- 复杂业务逻辑块必须有中文注释说明意图,禁止无意义注释如“// 获取用户”
方法一:路径匹配精准触发
新建003-mybatis-mapper.mdc,设置File Pattern为**/mapper/**/*.ja va,内容聚焦SQL层约束:
Rule Type: Auto Attached
File Pattern: **/mapper/**/*.ja va
### 必须遵守
- Mapper接口方法名必须与XML中id一致
- 所有查询方法必须返回List
- 更新方法必须返回int,表示影响行数
- XML中SQL禁止拼接字符串,必须用#{},禁用${}
- 所有Mapper接口必须继承org.apache.ibatis.annotations.Mapper
方法二:用Agent Requested类型动态激活
新建004-mybatis-smart.mdc,Rule Type设为Agent Requested,description写:“当AI识别到当前文件涉及数据库操作或MyBatis相关关键词时自动加载本规则”。
这样一来,AI在生成带@Select注解的方法时,会主动引入这条规则;写工具类时,则不会受到干扰。
第一步:重启Cursor,确保它重新扫描.cursor/rules目录
第二步:打开任意.ja va文件,输入/让AI写一个UserController,观察返回值是否自动套Result、是否用了@RestController、是否调用了UserService而非直接查库
第三步:在mapper目录下新建UserMapper.ja va,让AI生成findByEmail方法,检查是否返回User对象、是否用了#{}、是否加了@Mapper注解
如果AI仍生成System.out.println或@Controller,请检查001-springboot-always.mdc是否放在.cursor/rules根下、文件名是否带数字前缀、内容是否用```md包裹。
摩托车活塞环性能如何
ThinkBook系列最新价格全解析:2026年选购避坑与实时询价指南
GPT5.6惨遭切脑,Fable 5回归要变弱鸡版?
Ondo将于今日上线股票永续合约
电视剧《罗曼诺夫后裔》剧情介绍
暗黑4S14野蛮人终局BD攻略
区块链OTC交易所有哪几家比较正规?
什么是山寨币?山寨币指数如何查看?全球前10大山寨币盘点
Binance新增15种bStocks代币化证券为杠杆抵押资产
全球十大加密货币APP v3.11.5正版下载
GLM-4.5发布,全网最全测评和使用教程来了!
洛的网名三字男生霸气(精选100个)
本周比特币行情预判:BTC后市的三种推演与两强对决
剑侠世界3雪峰论剑怎么打-剑侠世界3雪峰论剑打法介绍
Meme币DOGS今晚上线!开局就解锁91%代币是否带来风险?
五千元以下的笔记本几乎消失!经销商:至少一年看不到涨价尽头
姓徐和李取网名男生霸气(精选100个)
25年来最惨单月 微软市值本月重挫近4万亿:押注AI也没赢麻
超长高标准质保+总部直保售后体系:小牛真实售后体验大起底
比特币守住关键支撑,HYPE市值升至第九并反超DOGE
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc