当前位置: 首页 > news >正文

Java后端开发核心笔记:分层架构、注解与面向对象精髓


文章目录

    • 前言
    • 一、代码开发分层架构
    • 二、注解详解
      • 1. 编译器级注解
      • 2. 架构设计原则
    • 三、面向对象核心概念
      • 1. 继承机制
      • 2. 方法重写(Override)
      • 3. 构造器调用规则
      • 4. 内存继承模型
    • 总结


前言

本笔记系统整理了Java后端开发中的核心知识点,涵盖分层架构设计注解原理面向对象核心概念,帮助开发者构建高内聚低耦合的健壮系统。


一、代码开发分层架构

sky-server项目中采用标准三层架构:

// Controller层:接收请求和返回响应
@RestController
@RequestMapping("/employee")
public class EmployeeController {@Autowiredprivate EmployeeService employeeService;@PostMapping("/status/{status}")public Result setStatus(@PathVariable Integer status, Long id) {employeeService.updateStatus(id, status);return Result.success();}
}// Service层:处理业务逻辑
@Service
public class EmployeeServiceImpl implements EmployeeService {@Autowiredprivate EmployeeMapper employeeMapper;@Overridepublic void updateStatus(Long id, Integer status) {Employee employee = Employee.builder().id(id).status(status).build();employeeMapper.update(employee);}
}// Mapper层:数据访问
@Mapper
public interface EmployeeMapper {void update(Employee employee);
}

二、注解详解

1. 编译器级注解

@Override // 强制检查方法重写正确性
public void print() {System.out.println("子类实现");
}
  • 核心作用:为编译器提供元数据,实现静态检查
  • 反射机制:运行时可通过反射获取注解信息
Annotation[] annotations = method.getAnnotations();
for (Annotation ann : annotations) {if (ann instanceof Override) {System.out.println("检测到Override注解");}
}

2. 架构设计原则

  • 高内聚:类的内部操作自主完成,拒绝外部干涉
  • 低耦合:仅暴露必要方法,降低模块间依赖
  • 示例
// 高内聚:封装内部状态
public class Account {private double balance;// 低耦合:仅暴露安全操作方法public synchronized void deposit(double amount) {validateAmount(amount);this.balance += amount;}private void validateAmount(double amount) {if (amount < 0) throw new IllegalArgumentException();}
}

三、面向对象核心概念

1. 继承机制

  • 查看继承关系Ctrl+H打开继承树
  • 根类继承:所有类默认继承Object
  • protected权限:允许子类访问父类受保护成员
public class Person {protected String name; // 子类可访问
}

2. 方法重写(Override)

class Person {public void print() {System.out.println("父类方法");}
}class Student extends Person {@Override // 重写父类方法public void print() {super.print(); // 调用父类实现System.out.println("子类扩展");}
}

3. 构造器调用规则

特性说明
隐式super()子类构造器首行自动调用父类无参构造
私有成员不可继承父类private字段/方法对子类不可见
调用顺序父类构造器 → 子类构造器
public class Person {public Person() {System.out.println("Person构造器");}
}public class Student extends Person {public Student() {// 编译器自动添加super();System.out.println("Student构造器");}
}
/* 输出:Person构造器Student构造器
*/

4. 内存继承模型

Object
Person
+String name
+void print()
Student
+int studentId
+void study()

总结

核心要点回顾

  1. 分层架构实现职责分离:Controller→Service→Mapper
  2. 注解提供元数据编程能力,支撑框架设计
  3. 面向对象三大支柱:
    • 封装:通过访问控制实现高内聚
    • 继承protected支持子类扩展
    • 多态:方法重写实现运行时绑定

如果内容对您有帮助,请点赞👍、关注❤️、收藏⭐️。创作不易,您的支持是我持续创作的动力!

鼓励图标

http://www.lryc.cn/news/589924.html

相关文章:

  • Linux网卡与软件仓库快捷配置脚本
  • 前后端分离项目中的接口设计与调用流程——以高仙机器人集成为例
  • vue中后端返回数据流,前端实现导出下载
  • HAProxy简介及配置文件详解
  • Thymeleaf 流程控制与迭代详解
  • 使用TIANAI-CAPTCHA进行行为验证码的生成和缓存的二次校验
  • 用 Ray 跨节点调用 GPU 部署 DeepSeek 大模型,实现分布式高效推理
  • C# StringBuilder源码分析
  • 在不升级Office 32位的情况下,安装64位MDAC
  • 15.dispatcherRunner启动
  • 上线!《指标 + AI 数智应用白皮书》聚焦智能问数与分析等AI高阶应用,深入剖析四大行业落地实践
  • Python数据分析全流程指南:从数据采集到可视化呈现的实战解析
  • 修改pipenv默认安装路径
  • 李宏毅2025《机器学习》第七讲-推理模型:从原理、流派到未来挑战
  • Python面向对象编程(OOP)详解:通俗易懂的全面指南
  • C++面向对象创建打印算术表达式树
  • IIS-网站报500.19错误代码0x8007000d问题解决
  • 代码随想录算法训练营十七天|二叉树part07
  • LeafletJS 入门:构建你的第一个交互式地图
  • 【无标题】LighthouseGS:面向全景式移动拍摄的室内结构感知三维高斯泼溅
  • Day36 Java方法和流程控制练习 计算器
  • 微软AutoGen:多智能体协作的工业级解决方案
  • ESP32——快速入门
  • 外接硬盘写入速度很慢?Windows 写入缓存功能开启教程!
  • 知识点3:python-sdk 核心概念(prompt、image、context)
  • 项目学习笔记 display从none切换成block
  • 尚庭公寓-------图片上传接口
  • 2025年工会考试题库及答案
  • alpineLinux修改包管理为国内源
  • 详解SPFA算法-单源最短路径求解