SpringBoot开启以后想做些事情,咋办呢?

本文介绍如何使用Spring Boot中的@Scheduled注解配合cron表达式来实现定时任务,并通过CommandLineRunner接口实现应用启动时的数据缓存加载。示例中详细展示了配置及实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用@Schedule + corn 表达式

每隔一段时间执行一次

@Scheduled(cron = "0 0/2 * * * ?")
public void runScheduleTask(){@SpringBootApplication
@EnableScheduling
public class xxxxxApplication {
	public static void main(String[] args) {
		SpringApplication.run(xxxxxApplication.class, args);
	}

}

CommandLineRunner实现这个类,重写run方法

/**
 * @Classname RoleAndMenuCache
 * @Description  Springboot 启动之后会自动执行
 * @Date 2022/7/1 20:21
 * @Created by 连磊
 */
@Component
public class RoleAndMenuCache implements CommandLineRunner {

    public static Logger logger = LoggerFactory.getLogger(RoleAndMenuCache.class);

    public static List<Role> roleList;

    @Autowired
    private RoleService roleService;

    @Autowired
    private RoleService menuService;

    @Override
    public void run(String... args) throws Exception {
        roleList = roleService.loadAll();
        logger.info("角色信息缓存完成");
    }
}

### 如何在 Spring Boot 中集成和配置 Swagger #### 使用 `springdoc-openapi` 替代 `springfox` 由于 `springfox` 已经停止更新并无法支持新的 Spring Boot 版本,在 Spring Boot 3 上建议采用 `springdoc-openapi` 进行 Swagger 的集成工作[^1]。 #### 添加 Maven 或 Gradle 依赖项 为了使项目能够识别到 OpenAPI 并自动生成 API 文档,需向项目的构建文件中加入如下依赖: 对于 Maven 用户来说,应该编辑 pom.xml 文件并将下面的内容添加进去: ```xml <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>2.0.4</version> </dependency> ``` 而对于使用 Gradle 构建工具的朋友,则可以在 build.gradle 文件里加上这段话: ```groovy implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.4' ``` 完成上述操作之后重新加载工程即可让 IDE 下载所需的库文件。 #### 启动应用后访问 Swagger UI 页面 当一切准备就绪以后就可以正常运行程序了。此时可以通过浏览器打开指定链接来浏览生成好的接口文档界面,默认情况下地址为:http://localhost:8080/swagger-ui/index.html[^2] #### 处理安全认证问题 (可选) 如果当前的应用集成了像 Spring Security 这样的权限管理系统的话,那么还需要额外一些设置才能顺利地通过身份验证环节去查看 API 列表。具体法可以参照相关资料来进行调整[^3]。 #### 关于旧版 Spring Boot 和 Swagger2 的说明 值得注意的是,如果是基于较早版本的 Spring Boot(比如 2.x),则可能仍然会沿用 `springfox-swagger2` 及其配套组件的方式来同样的事情;不过这并不适用于最新一代的产品线[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值