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


文章目录


前言

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


一、代码开发分层架构

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

java 复制代码
// Controller层:接收请求和返回响应
@RestController
@RequestMapping("/employee")
public class EmployeeController {
    
    @Autowired
    private 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 {
    
    @Autowired
    private EmployeeMapper employeeMapper;
    
    @Override
    public 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. 编译器级注解

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

2. 架构设计原则

  • 高内聚:类的内部操作自主完成,拒绝外部干涉
  • 低耦合:仅暴露必要方法,降低模块间依赖
  • 示例
java 复制代码
// 高内聚:封装内部状态
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权限:允许子类访问父类受保护成员
java 复制代码
public class Person {
    protected String name; // 子类可访问
}

2. 方法重写(Override)

java 复制代码
class Person {
    public void print() {
        System.out.println("父类方法");
    }
}

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

3. 构造器调用规则

特性 说明
隐式super() 子类构造器首行自动调用父类无参构造
私有成员不可继承 父类private字段/方法对子类不可见
调用顺序 父类构造器 → 子类构造器
java 复制代码
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支持子类扩展
    • 多态:方法重写实现运行时绑定

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

相关推荐
程序定小飞7 分钟前
基于springboot的健身房管理系统开发与设计
java·spring boot·后端
wxin_VXbishe17 分钟前
springboot在线课堂教学辅助系统-计算机毕业设计源码07741
java·c++·spring boot·python·spring·django·php
信仰_27399324337 分钟前
RedisCluster客户端路由智能缓存
java·spring·缓存
兰雪簪轩38 分钟前
仓颉语言内存布局优化技巧:从字节对齐到缓存友好的深度实践
java·spring·缓存
CaracalTiger1 小时前
本地部署 Stable Diffusion3.5!cpolar让远程访问很简单!
java·linux·运维·开发语言·python·微信·stable diffusion
okjohn1 小时前
《架构师修炼之路》——②对架构的基本认识
java·架构·系统架构·软件工程·团队开发
落笔映浮华丶1 小时前
蓝桥杯零基础到获奖-第4章 C++ 变量和常量
java·c++·蓝桥杯
合作小小程序员小小店2 小时前
web网页开发,在线%就业信息管理%系统,基于idea,html,layui,java,springboot,mysql。
java·前端·spring boot·后端·intellij-idea
陈果然DeepVersion2 小时前
Java大厂面试真题:从Spring Boot到AI微服务的三轮技术拷问(一)
java·spring boot·redis·微服务·kafka·面试题·oauth2
晨晖22 小时前
docker打包,启动java程序
java·docker·容器