From f3d6e39c8ece53611d62c97f5cdd920b0b366e1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=83=E9=B2=81=E7=89=B9?= Date: Thu, 16 Apr 2026 11:44:50 +0800 Subject: [PATCH] =?UTF-8?q?feat(di):=20=E5=AE=9E=E7=8E=B0=E5=9F=BA?= =?UTF-8?q?=E4=BA=8E=E6=B3=A8=E8=A7=A3=E7=9A=84=E4=BE=9D=E8=B5=96=E6=B3=A8?= =?UTF-8?q?=E5=85=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 bean-di.xml 中调整 studentName 属性的缩进格式 - 在 bean-di-annotation.xml 中添加组件扫描配置并增加空行 - 修改 bean-ioc.xml 中 department 实体的属性名称 - 新增 Department 注解版实体类,使用 @Component 和 @Value 注解 - 在 TestAnnotation 测试类中添加 department Bean 的获取和测试方法 --- .../src/bean-di-annotation.xml | 9 ++ grademanagement-SpringProject/src/bean-di.xml | 2 +- .../src/com/ssm/di/annotation/Department.java | 84 ++++++++++++++++++ .../com/ssm/di/annotation/TestAnnotation.java | 13 +++ .../bean-ioc.xml | 18 ++-- .../com/ssm/di/TestDi.class | Bin 3292 -> 3292 bytes 6 files changed, 112 insertions(+), 14 deletions(-) create mode 100644 grademanagement-SpringProject/src/com/ssm/di/annotation/Department.java diff --git a/grademanagement-SpringProject/src/bean-di-annotation.xml b/grademanagement-SpringProject/src/bean-di-annotation.xml index 8178d9a..9d4582d 100644 --- a/grademanagement-SpringProject/src/bean-di-annotation.xml +++ b/grademanagement-SpringProject/src/bean-di-annotation.xml @@ -11,4 +11,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/grademanagement-SpringProject/src/bean-di.xml b/grademanagement-SpringProject/src/bean-di.xml index e0179f5..68dc884 100644 --- a/grademanagement-SpringProject/src/bean-di.xml +++ b/grademanagement-SpringProject/src/bean-di.xml @@ -5,7 +5,7 @@ http://www.springframework.org/schema/beans/spring-beans.xsd"> - + diff --git a/grademanagement-SpringProject/src/com/ssm/di/annotation/Department.java b/grademanagement-SpringProject/src/com/ssm/di/annotation/Department.java new file mode 100644 index 0000000..719272d --- /dev/null +++ b/grademanagement-SpringProject/src/com/ssm/di/annotation/Department.java @@ -0,0 +1,84 @@ +package com.ssm.di.annotation; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +/** + * 院系实体类(注解版DI实现) + * 任务要求:com.ssm.di.annotation 包下 + */ +// 1. 标记为Spring容器管理的Bean,名称为 "department" +@Component("department") +public class Department { + // 2. 使用@Value注入属性,替代XML中的property + @Value("1001") + private Integer deptId; // 院系ID + + @Value("计算机学院") + private String deptName; // 院系名称 + + @Value("CS-2026") + private String deptNo; // 院系编号 + + @Value("李院长") + private String deptManager; // 院系负责人 + + @Value("010-88889999") + private String deptPhone; // 联系电话 + + @Value("主校区") + private String campus; // 所属校区 + + // 3. 无参构造(Spring IoC 实例化必须保留) + public Department() {} + + // 4. Getter & Setter (Spring依赖注入必须) + public Integer getDeptId() { return deptId; } + public void setDeptId(Integer deptId) { this.deptId = deptId; } + + public String getDeptName() { return deptName; } + public void setDeptName(String deptName) { this.deptName = deptName; } + + public String getDeptNo() { return deptNo; } + public void setDeptNo(String deptNo) { this.deptNo = deptNo; } + + public String getDeptManager() { return deptManager; } + public void setDeptManager(String deptManager) { this.deptManager = deptManager; } + + public String getDeptPhone() { return deptPhone; } + public void setDeptPhone(String deptPhone) { this.deptPhone = deptPhone; } + + public String getCampus() { return campus; } + public void setCampus(String campus) { this.campus = campus; } + + /** + * 5. 自定义printInfo方法:控制台打印院系信息 + */ + public void printInfo() { + System.out.println("===== 【院系管理】信息 ====="); + System.out.println("院系ID : " + deptId); + System.out.println("院系名称 : " + deptName); + System.out.println("院系编号 : " + deptNo); + System.out.println("负责人 : " + deptManager); + System.out.println("联系电话 : " + deptPhone); + System.out.println("所属校区 : " + campus); + System.out.println("==========================\n"); + } + + /** + * 6. 重写toString方法(方便测试打印) + */ + @Override + public String toString() { + return "Department{" + + "deptId=" + deptId + + ", deptName='" + deptName + '\'' + + ", deptNo='" + deptNo + '\'' + + ", deptManager='" + deptManager + '\'' + + ", deptPhone='" + deptPhone + '\'' + + ", campus='" + campus + '\'' + + '}'; + } +} + + diff --git a/grademanagement-SpringProject/src/com/ssm/di/annotation/TestAnnotation.java b/grademanagement-SpringProject/src/com/ssm/di/annotation/TestAnnotation.java index ad39e74..bad9683 100644 --- a/grademanagement-SpringProject/src/com/ssm/di/annotation/TestAnnotation.java +++ b/grademanagement-SpringProject/src/com/ssm/di/annotation/TestAnnotation.java @@ -13,5 +13,18 @@ public class TestAnnotation { // 3. 输出对象信息,验证是否注入成功 System.out.println(student); + + // 2. 获取院系Bean (名称对应@Component("department")) + Department department = context.getBean("department", Department.class); + + // 3. 调用方法输出结果 + System.out.println("=== 调用 printInfo() 方法输出 ==="); + department.printInfo(); + + // 4. 测试 toString() 方法输出 + System.out.println("=== 调用 toString() 方法输出 ==="); + System.out.println(department); + } + } \ No newline at end of file diff --git a/out/production/grademanagement-SpringProject/bean-ioc.xml b/out/production/grademanagement-SpringProject/bean-ioc.xml index fbddeff..f43e8b7 100644 --- a/out/production/grademanagement-SpringProject/bean-ioc.xml +++ b/out/production/grademanagement-SpringProject/bean-ioc.xml @@ -56,19 +56,11 @@ - - - - + + + + - - - - - - - - - + \ No newline at end of file diff --git a/out/production/grademanagement-SpringProject/com/ssm/di/TestDi.class b/out/production/grademanagement-SpringProject/com/ssm/di/TestDi.class index ce09eeef61046c4c1ecce9efa609467515282446..0311c40b8cc9ccfd18a57ba8aa7ea0e0fbd7d323 100644 GIT binary patch delta 13 Ucmca3c}H?XGY_Ndi_@% delta 13 Ucmca3c}H?XGY_NZ