依赖注入(Dependency Injection,简称DI)是一种设计模式,其目的是减少软件组件之间的耦合度,提高代码的可重用性和可维护性。在大型Java应用中,使用依赖注入可以使代码更加模块化和可测试。
DI的实现方式主要有以下几种:
构造器注入 利用构造方法的参数注入依赖
Setter方法注入 调用Setter的方法注入依赖
接口注入
注解注入 在字段上使用@Autowired/Resource注解
1、构造器注入
构造器注入是指通过构造方法将依赖项注入到对象中。在构造方法中,将依赖项作为参数传入,然后在对象被创建时将其保存在成员变量中。
构造器注入是一种简单有效的依赖注入方式,可以保证依赖项的不可变性。在实际开发中,如果依赖项是必需的,且不需要在对象生命周期内发生变化,可以考虑使用构造器注入
在Spring框架中,可以使用构造方法注入来实现依赖注入。在Spring中,只需要在构造方法上添加@Autowired注解即可。下面是一个使用构造方法注入的Spring项目案例。
定义接口:
public interface UserService {
User getUserById(int id);
}
实现接口:
@Repository
public class UserServiceImpl implements UserService {
@Override
public User getUserById(int id) {
// 实现代码
}
}
使用构造方法注入:
@Service
public class UserService {
private final UserService userSer