通过扩展service方法,实现依赖注入的举例说明
时间: 2024-03-24 09:39:57 浏览: 54
假设我们有一个UserService类,其中有一个getUser方法用于获取用户信息,同时我们需要注入一个UserDao实例和一个UserValidator实例来进行数据访问和数据校验。可以通过扩展service方法来实现依赖注入,代码如下:
```java
public class UserService {
private UserDao userDao;
private UserValidator userValidator;
public UserService(UserDao userDao, UserValidator userValidator) {
this.userDao = userDao;
this.userValidator = userValidator;
}
public User getUser(int userId) {
// 使用注入的userDao对象进行数据访问操作
User user = userDao.getUserById(userId);
// 使用注入的userValidator对象进行数据校验操作
userValidator.validate(user);
return user;
}
}
```
在上述代码中,我们在UserService的构造方法中注入了UserDao和UserValidator两个实例。在getUser方法中,我们直接使用注入的userDao对象进行数据访问操作,使用注入的userValidator对象进行数据校验操作。
在使用该UserService类时,我们需要先创建一个UserDao实例和一个UserValidator实例,并将它们注入到UserService中,代码如下:
```java
UserDao userDao = new UserDao();
UserValidator userValidator = new UserValidator();
UserService userService = new UserService(userDao, userValidator);
User user = userService.getUser(1);
```
在上述代码中,我们先创建了一个UserDao实例和一个UserValidator实例,然后通过UserService的构造方法将它们注入到UserService中。最后调用getUser方法获取用户信息。
通过扩展service方法,我们成功实现了依赖注入操作,使得UserService类更加灵活和可扩展。
阅读全文