@PostConstruct CommandLineRunner
时间: 2024-11-28 11:19:23 浏览: 54
`@PostConstruct` 和 `CommandLineRunner` 都是Java Spring框架中的注解,它们用于初始化目的,但在不同的上下文中使用:
1. **`@PostConstruct`**:
这是一个生命周期注解,通常放在类或方法上。当一个`@Component`、`@Service` 或 `@Repository` 注解的类被实例化后,如果该类上有`@PostConstruct`注解的方法,那么Spring会在这个方法被执行时完成类的初始化工作,例如设置属性值、连接数据库等。这个方法主要用于执行一些依赖于外部资源初始化的操作。
2. **`CommandLineRunner`**:
`CommandLineRunner`则是一个接口,它允许你在Spring Boot应用作为命令行程序运行时执行一些初始化任务。当你通过命令行启动Spring Boot应用并提供自定义的`CommandLineRunner`实现类时,Spring会调用它的`run`方法,允许你在控制台看到一条或多条消息,或者执行任何其他的初始化操作,特别适合简单的脚本式启动任务。
例如,你可以创建一个简单的`CommandLineRunner`实现,然后在命令行启动应用时自动执行某些数据迁移、清理工作。
```java
public class MyCommandLineRunner implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
// 这里可以执行命令行启动时需要的初始化操作
}
}
```
阅读全文
相关推荐




















