spring boot注入bean
时间: 2023-10-30 11:16:00 浏览: 45
在 Spring Boot 中,我们可以使用 @Autowired、@Resource 或者 @Inject 注解来进行依赖注入。
1. @Autowired 注解
@Autowired 注解可以自动装配一个 bean 对象,它可以作用在字段、方法、构造器上。
(1)作用在字段上:
```java
@Component
public class UserService {
@Autowired
private UserDao userDao;
// ...
}
```
(2)作用在构造器上:
```java
@Component
public class UserService {
private final UserDao userDao;
@Autowired
public UserService(UserDao userDao) {
this.userDao = userDao;
}
// ...
}
```
(3)作用在方法上:
```java
@Component
public class UserService {
private UserDao userDao;
@Autowired
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
// ...
}
```
2. @Resource 注解
@Resource 注解也可以用来进行依赖注入,它可以作用在字段、方法上。与 @Autowired 注解不同的是,@Resource 注解可以通过 name 属性指定注入的 bean 名称。
```java
@Component
public class UserService {
@Resource(name = "userDao")
private UserDao userDao;
// ...
}
```
3. @Inject 注解
@Inject 注解也可以用来进行依赖注入,它和 @Autowired 注解类似。不同的是,@Inject 注解是 JSR-330 中定义的依赖注入规范,而 @Autowired 是 Spring 特有的注解。
```java
@Component
public class UserService {
@Inject
private UserDao userDao;
// ...
}
```
以上就是 Spring Boot 中常用的依赖注入方式。