@AllArgsConstructor和 @Autowired同时使用
时间: 2023-07-07 21:37:22 浏览: 186
`@AllArgsConstructor` 是 lombok 提供的注解,用于自动生成一个包含所有构造函数参数的构造函数。而 `@Autowired` 是 Spring 框架提供的注解,用于自动装配 bean。
当我们在一个类中同时使用 `@AllArgsConstructor` 和 `@Autowired` 注解时,Lombok 会默认生成一个包含所有构造函数参数的构造函数,Spring 框架会将该类的实例作为一个 bean 进行管理,并自动装配相关的依赖。
例如,下面的代码中使用了 `@AllArgsConstructor` 和 `@Autowired` 注解:
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import lombok.AllArgsConstructor;
@Component
@AllArgsConstructor
public class MyService {
private final MyRepository myRepository;
public void doSomething() {
// ...
}
}
```
在上面的例子中,`MyService` 类被标记为 Spring 的组件,并且使用了 `@AllArgsConstructor` 注解,Lombok 会自动生成一个包含所有构造函数参数的构造函数。同时,`myRepository` 字段被标记为 `final`,并在构造函数中通过自动装配注入了 `MyRepository` 的实例。这样,我们就可以在 `MyService` 类中使用 `myRepository` 字段了。
阅读全文