10/13 我说:「能不能把这些知识点先串一下?尽量直接用我们 C8 里面的系统……直接上实操。」 源码:
~/元神/舅舅线-PLM/plmservice源码/src/plmservice/(舅舅给的 plmservice.zip) 课件:D08《Spring Boot 后端工程搭建》
C8 页面上点一下 → 浏览器发一个网址 → plmservice 的 Controller 接住 → 交给 Service → Service 去问 C8 → 结果装进 ResEntity 送回去。
浏览器 /plmservice/style/query?styleNo=HS001
↓
StyleController.query() ← 04 方法:跳进去
↓ styleService.queryByStyleNo() ← 12 接口:只认合同
StyleServiceImpl ← 10/12 extends + implements
↓ fakeC8.get("HS001") ← 13 HashMap:按钥匙取
PlmStyleEntity(双肩包) ← 05/06/07 类、构造、private
↓
WebResponse.success(style) ← 08 static:不 new 直接用
↓
ResEntity {code=0, data=HS001 双肩包} ← 10 toString
~/元神/舅舅线-PLM/java复习/plm迷你版/,7 个文件,类名都跟公司一样:
| 文件 | 公司里对应的 |
|---|---|
| Main.java | 假装浏览器(公司里是 Spring 启动) |
| StyleController.java | core/controller/TestController.java |
| StyleService.java | mybatis/service/StyleService.java |
| StyleServiceImpl.java | mybatis/service/impl/StyleServiceImpl.java(HashMap 假装 C8) |
| PlmStyleEntity.java | mybatis/entity/PlmStyleEntity.java |
| WebResponse.java / ResEntity.java | commons/dto/ 下同名 |
cd ~/元神/舅舅线-PLM/java复习/plm迷你版 && javac *.java && java Main
{code=0, msg=成功!, data=HS001 双肩包, success=true}
{code=201, msg=没有这个款号:HS999, data=null, success=false}
| 点 | 在 plmservice 哪里 | 看到什么 |
|---|---|---|
| 01 编译运行 | readme.md、D08 | JDK8 + Maven 编译;启动后端口 8088 |
| 02 基本/引用类型 | PlmStyleEntity | private Integer id; private String styleNo; |
| 03 == 和 equals | 全项目 123 处 .equals( |
比字符串用 equals |
| 04 方法 | C8NodeService | queryFirstByNodeName → 调 queryFirstByXML → 调 queryByXML,一层层跳进去再跳回来 |
| 05 类和对象 | PlmStyleEntity | 一个款 = 一个对象 |
| 06 构造方法 | ResEntity | @AllArgsConstructor = 让工具帮你写「全参数构造」 |
| 07 封装 | PlmStyleEntity | 字段全 private;@Getter @Setter = 工具帮你写 get/set |
| 08 static | WebResponse | public static ResEntity success(...),用时 WebResponse.success(...) 不 new |
| 09 main | core/CoreApplication.java | 启动类:Spring 从这里的 main 启动整个项目 |
| 10 继承/toString | StyleServiceImpl | extends ServiceImpl<…>;@ToString = 工具帮你写 toString |
| 11 多态 | Controller 里 | 变量写 StyleService(合同),实际是 StyleServiceImpl |
| 12 接口 | StyleService / PlmStyleMapper | public interface StyleService;class StyleServiceImpl … implements StyleService |
| 13 ArrayList/HashMap | C8NodeService.queryFirstByXML | List<String>,isEmpty() 就返回 "",否则 get(0) 拿第一个 |
| 14 Set/TreeSet | enhancement/.../dep/DepPath.java | private TreeSet<String> paths —— C8 查询路径,去重+排序 |
| 15 泛型 | 到处 | List<PlmStyleEntity>、ServiceImpl<PlmStyleMapper, PlmStyleEntity> |
| 16 遍历修改 | 全项目 171 处 for ( |
读代码时留意:循环里有没有 remove |
@Getter @ToString @Autowired @RequestMapping 都叫注解=贴给工具看的便签:
- @Getter/@Setter/@ToString/@AllArgsConstructor(Lombok):工具帮你把 get/set/toString/构造方法写出来
- @Autowired:Spring 帮你 new,并塞进这个变量
- @RequestMapping("/test"):Spring 收到 /test 开头的网址,就交给这个类
config/.../application-plm.yml 里写着真实 C8 地址和账号,启动会自动登录 C8。先找舅舅要测试环境,再跑。