一、 环境准备
1.1 安装 JDK 19(或者17)
1.2 Apache Maven 3.9.2
1.3 开发工具 IDE

二、构建项目
1.样例使用idea,New Project -->选择Quarkus

下一步选择 quarkus版本,和你所需要的依赖包:

然后点击完成,创建项目;
三、启动项目
1.可以在工具栏中选规maven--->Plugins---->quarkus ,找到quarkus:dev命令然后点击它启动项目

四、开发配置注解
1.自定义yaml配置获取
例如:
keyword-id-config:
keyword-id-list: 3,2,4,5,7,59
代码获取样例:

2、 应用程序启动或者关闭执行前后执行一些逻辑
操作 io.quarkus.runtime.StartupEvent和io.quarkus.runtime.ShutdownEvent事件:在应用程序启动时,Quarkus会产生StartupEvent事件;而在关闭时,会产生ShutdownEvent事件;

3、拦截器
样例,定义拦截器注解:
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.TYPE;
@InterceptorBinding
@Target({TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface LogEvent {
}
实现拦截器功能:
import jakarta.annotation.Priority;
import jakarta.interceptor.AroundInvoke;
import jakarta.interceptor.Interceptor;
import jakarta.interceptor.InvocationContext;
import lombok.extern.slf4j.Slf4j;
/**
* @author: Nyquist Data Tech Team
* @version: 1.0
* @data: 2023/06/15
* @description:
* Priority 注解的作用是设定 HandleError 拦截器的优先级 (值越小优先级越高),可以同时用多个拦截器拦截同一个方法
* AroundInvoke 注解的作用,是表明 execute 会在拦截 bean 方法时被调用
* proceed 方法的作用,并非是执行被拦截的方法,而是执行下一个拦截器,直到最后一个拦截器才会执行被拦截的方法
* 可以从入参 context 处取得被拦截实例和方法的信息
*/
@Slf4j
@LogEvent
@Interceptor
@Priority(Interceptor.Priority.APPLICATION +1)
public class LogEventInterceptor {
@AroundInvoke
public Object logEvent(InvocationContext ctx) throws Exception {
log.info("---->method:{}", ctx.getMethod().getName());
return ctx.proceed();
}
}