SpringBoot使用配置注解开启自动配置功能&整合spring-boot-configuration-processor

简介: SpringBoot使用配置注解开启自动配置功能&整合spring-boot-configuration-processor

1、引入自动配置依赖开启代码提示功能

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

2、编写一个自动配置类

@ConfigurationProperties(prefix = "gulimall.thread")
@Component
@Data
public class ThreadPoolConfigProperties {
    private Integer corePoolSize;
    private Integer maxPoolSize;
    private Integer keepAliveTime;
}

3、在properties中加入常量配置

# 线程池的参数
gulimall.thread.core-pool-size=20
gulimall.thread.max-pool-size=200
gulimall.thread.keep-alive-time=10

4、引用自动配置

因为自动配置类中使用了Componet注解所以可以直接在SpringBoot容器中的方法的参数中直接引入

如果没有加入Component则需要在引入的地方加入@EnableConfigurationProperties(ThreadPoolConfigProperties.class),然后使用Auto注入使用

@Configuration
public class MyThreadConfig {
    @Bean
    public ThreadPoolExecutor threadPoolExecutor(ThreadPoolConfigProperties threadPoolConfigProperties) {
        ThreadPoolExecutor executor = new ThreadPoolExecutor(
                threadPoolConfigProperties.getCorePoolSize(), // 核心线程数
                threadPoolConfigProperties.getMaxPoolSize(), // 最大线程数
                threadPoolConfigProperties.getKeepAliveTime(), // 线程空闲后的最大存活时间
                TimeUnit.SECONDS, // 时间单位
                new LinkedBlockingDeque<>(20000), // 任务队列
                new ThreadPoolExecutor.AbortPolicy() // 拒绝策略
        );
        return executor;
    }
}
相关文章
|
6天前
|
XML Java 数据格式
常用SpringBoot注解汇总与用法说明
这些注解的使用和组合是Spring Boot快速开发和微服务实现的基础,通过它们,可以有效地指导Spring容器进行类发现、自动装配、配置、代理和管理等核心功能。开发者应当根据项目实际需求,运用这些注解来优化代码结构和服务逻辑。
92 12
|
12天前
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
276 1
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
|
12天前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
188 4
存储 JSON Java
190 0
|
18天前
|
Java 关系型数据库 MySQL
Spring Boot自动配置:魔法背后的秘密
Spring Boot 自动配置揭秘:只需简单配置即可启动项目,背后依赖“约定大于配置”与条件化装配。核心在于 `@EnableAutoConfiguration` 注解与 `@Conditional` 系列条件判断,通过 `spring.factories` 或 `AutoConfiguration.imports` 加载配置类,实现按需自动装配 Bean。
|
19天前
|
人工智能 Java 开发者
【Spring】原理解析:Spring Boot 自动配置
Spring Boot通过“约定优于配置”的设计理念,自动检测项目依赖并根据这些依赖自动装配相应的Bean,从而解放开发者从繁琐的配置工作中解脱出来,专注于业务逻辑实现。
|
19天前
|
传感器 Java 数据库
探索Spring Boot的@Conditional注解的上下文配置
Spring Boot 的 `@Conditional` 注解可根据不同条件动态控制 Bean 的加载,提升应用的灵活性与可配置性。本文深入解析其用法与优势,并结合实例展示如何通过自定义条件类实现环境适配的智能配置。
探索Spring Boot的@Conditional注解的上下文配置
|
Java 数据库连接 Spring
面试题:springboot的自定义配置有哪些
面试题:springboot的自定义配置有哪些
127 0
springboot WebMvcConfigurer详解自定义配置请求静态资源
springboot WebMvcConfigurer详解自定义配置请求静态资源
314 0
|
Java 数据库连接 Maven
SpringBoot【付诸实践 01】SpringBoot自定义starter保姆级教程(说明+源码+配置+测试)
SpringBoot【付诸实践 01】SpringBoot自定义starter保姆级教程(说明+源码+配置+测试)
145 1