Spring IoC 核心原理与依赖注入实战
Lombok 快速入门
Lombok 是一个 Java 库,通过注解方式简化代码编写,减少冗余。常用注解包括:
| 注解 | 作用 |
|---|---|
@Data | 组合注解,包含 Getter、Setter、ToString 等 |
@Getter/@Setter | 自动生成访问器方法 |
@NoArgsConstructor | 生成无参构造方法 |
@AllArgsConstructor | 生成全属性构造方法 |
@Slf4j | 生成日志对象 |
在 IDE 插件市场搜索并安装 Lombok 后,即可在 pom.xml 中引入依赖。
@Data
public class UserInfo2 {
private String name;
private int age;
}
注解可放在类上作用于全部成员,也可放在字段上仅作用于当前变量。
IoC 控制反转
什么是 IoC?
IoC(Inversion of Control,控制反转)是一种设计原则,旨在降低代码耦合度。其核心思想是将对象的创建、依赖关系管理的控制权从应用程序代码转移到外部容器。简单来说,传统编程中对象由自身 new 实例化,而在 IoC 模式下,这种权力被'反转'给了第三方框架。Spring 就是典型的 IoC 容器。
依赖注入(DI)
依赖注入是 IoC 最常见的实现方式。容器在创建对象时,自动将依赖的其他对象注入进来,无需手动创建。
传统方式 vs IoC 方式
传统硬编码:
假设我们要组装一辆汽车,车轮、底盘、车身层层嵌套,每个类内部都直接 new 依赖对象。
// 车轮
class Tire {
private int size;
public Tire(int size) { this.size = size; }
}
// 底盘
class {
Tire tire;
{ .tire = (); }
}
{
Bottom bottom;
{ .bottom = (); }
}
{
Framework framework;
{ .framework = (); }
}


