public class OrderService {

private PaymentService payment = new AlipayService();
}
@Component public class OrderService {

private final PaymentService paymentService;
// Spring会自动注入PaymentService实例
public OrderService(PaymentService paymentService) {
this.paymentService = paymentService;
}
}
// 好的做法:使用构造函数注入 public class UserService {
private final UserRepository userRepository;
private final EmailService emailService;
public UserService(UserRepository userRepository, EmailService emailService) {
this.userRepository = userRepository;
this.emailService = emailService;
}
}
// 避免的做法:字段注入隐藏了依赖关系 public class UserService {
@Autowired
private UserRepository userRepository;
@Autowired
private EmailService emailService;
}
