springboot使用Setter方法完成依赖注入
时间: 2023-11-27 15:51:37 浏览: 35
在Spring Boot中,我们通常使用注解来完成依赖注入,包括@Autowired和@Resource等。但是,如果需要手动完成依赖注入,可以使用Setter方法来实现。具体步骤如下:
1. 在要注入的类中定义一个Setter方法,方法中包含需要注入的属性。
2. 在调用Setter方法时,通过Spring的ApplicationContext对象获取到需要注入的依赖对象,并将其作为参数传入Setter方法中。
3. 在Spring Boot启动时,会自动扫描所有的@Component、@Service等注解的类,并将其实例化,同时将依赖注入到对应的类中。因此,在调用Setter方法时,可以直接获取到需要注入的依赖对象。
下面是一个示例代码:
```
@Service
public class UserServiceImpl implements UserService {
private UserDao userDao;
@Override
public void addUser(User user) {
userDao.addUser(user);
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
}
```
在上面的代码中,我们定义了一个Setter方法setUserDao(),用于注入UserDao对象。当Spring Boot启动时,会自动实例化UserDao并将其注入到UserServiceImpl中。
另外,需要注意的是,使用Setter方法完成依赖注入时,需要保证被注入的属性必须有set方法,并且该方法不能为私有方法。否则,Spring无法完成依赖注入。