是否可以在`CommandLineRunner`里依赖注入?
时间: 2024-09-19 20:13:09 浏览: 34
软件框架技术-使用@Component@ConfigurationProperties等方法实现将配置文件的注入,并在控制台显示
可以的,在`CommandLineRunner`中是可以依赖注入的。`CommandLineRunner`是一个标记了`@Component`或`@Service`注解的类,它会被Spring IoC容器管理,因此可以直接在其中声明和使用其他的bean。当你在`run`方法内部需要某个服务或组件时,可以使用@Autowired注解来自动注入所需的实例。
例如:
```java
@Component
public class MyCommandRunner implements CommandLineRunner {
private final SomeDependency myDependency;
@Autowired
public MyCommandRunner(SomeDependency myDependency) {
this.myDependency = myDependency;
}
@Override
public void run(String... args) throws Exception {
// 在这里你可以使用myDependency
myDependency.doSomething();
}
}
```
这样,当Spring Boot启动时,就会自动将`SomeDependency`注入到`MyCommandRunner`中。
阅读全文