不使用autowired注解要怎么写代码
时间: 2023-09-01 13:04:31 浏览: 56
在不使用@Autowired注解的情况下,可以通过手动创建实例并进行依赖注入的方式来编写代码。
首先,需要手动创建所依赖的实例。比如,如果需要注入一个名为"userService"的UserService实例,可以通过以下方式实现:
UserService userService = new UserService();
接下来,可以通过构造器注入、setter方法注入或方法注入的方式,将依赖注入到所依赖的实例中。
1. 构造器注入:
比如,可以在UserService类的构造器中,使用参数接收所依赖的实例。
public class UserService {
private UserDao userDao;
public UserService(UserDao userDao) {
this.userDao = userDao;
}
}
使用方式如下:
UserDao userDao = new UserDao();
UserService userService = new UserService(userDao);
2. setter方法注入:
通过setter方法将所依赖的实例注入到依赖的类中。
public class UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
}
使用方式如下:
UserDao userDao = new UserDao();
UserService userService = new UserService();
userService.setUserDao(userDao);
3. 方法注入:
通过方法将所依赖的实例注入到依赖的类中。
public class UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void init() {
// 在方法中使用依赖的实例
}
}
使用方式如下:
UserDao userDao = new UserDao();
UserService userService = new UserService();
userService.setUserDao(userDao);
userService.init();
总之,不使用@Autowired注解时,可以手动创建依赖的实例,并通过构造器注入、setter方法注入或方法注入的方式将依赖注入到所依赖的实例中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)