全新 ioc 框架 loveqq-framework,教你白嫖 SpringBoot 的插件的配置文件自动提示


全新轻量级 ioc/aop 框架 loveqq-framework 现已支持在 idea ide 下,application.yaml 配置文件的智能提示。

该智能提示的实现完全复用了 idea 自带的 springboot 支持插件。只需要引入 loveqq-boot-starter-test 依赖可使用智能提示。

下面介绍下非 springboot 项目如何能够快捷复用 springboot 插件,从而实现配置文件的智能提示。

首先引入下面的依赖,注意依赖作用域最好是 test,因为我们只需要智能提示,编译和运行都需要他们,test 作用域也方便打包时进行排除,从而也不会增加打包体积:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot</artifactId>
<version>3.5.0</version>
<scope>test</scope>
<exclusions>
	<exclusion>
	<groupId>org.springframework</groupId>
	<artifactId>spring-context</artifactId>
	</exclusion>
	<exclusion>
	<groupId>org.springframework</groupId>
	<artifactId>spring-jcl</artifactId>
	</exclusion>
</exclusions>
</dependency>

然后编写 spring-configuration-metadata.json 配置文件放入 META-INF 文件夹下即可。

当然手动编写可能很繁复,大家可以复用 loveqq-framework 的自动构建的代码:

com.kfyty.loveqq.framework.core.support.task.BuildConfigurationMetadataAntTask

然后在 maven 中添加如下插件:

<plugin>
	<artifactId>maven-antrun-plugin</artifactId>
	<version>3.1.0</version>
	<executions>
	<execution>
		<id>build configuration metadata</id>
		<phase>verify</phase>
		<goals>
		<goal>run</goal>
		</goals>
		<configuration>
		<target name="metadata">
			<java fork="true" classname="com.kfyty.loveqq.framework.core.support.task.BuildConfigurationMetadataAntTask" classpathref="maven.compile.classpath" rel="external nofollow" target="_blank">
			<arg value="-OUTPUT_TYPE=${project.packaging}" />
			<arg value="-OUTPUT_DIRECTORY=${project.build.directory}" />
			<arg value="-OUTPUT_JAR=${project.build.finalName}.jar" />
			<arg value="-OUTPUT_DEFAULT_JAR=${project.artifactId}-${project.version}.jar" />
			<jvmarg value="--add-opens=java.base/sun.reflect.annotation=ALL-UNNAMED" />
			</java>
		</target>
		</configuration>
	</execution>
	</executions>
	
	<dependencies>
	<dependency>
		<groupId>org.apache.ant</groupId>
		<artifactId>ant</artifactId>
		<version>1.10.14</version>
	</dependency>
	</dependencies>
</plugin>

然后运行 mvn install 就可以自动生成 spring-configuration-metadata.json 配置文件并写入 jar 包了。

然后就可以愉快的使用智能提示了~


相關推薦

2024-06-18

loveqq-framework 轻量级 ioc/aop 框架,比 spring 更强大的条件注解推断,打包后支持 jar index 启动。 本次更新: 正式更名为:loveqq-famework 新增:loveqq-boot-starter-mybatis 新增:loveqq-boot-starter-pagehelper 新增:loveqq-boot-starter-shiro

2024-07-26

该是 5。 而上述代码在 spring 下无法通过测试,但是在 loveqq-framework 中是可以测试通过的。 感兴趣的可以体验体验~

2022-11-05

从开源和开源项目进入大众视野的第一天起,“白嫖” 一词也随之而来。每个人对于 “白嫖” 的理解不尽相同,有人认为代码无需付费自己二开改改就好是一种白嫖,有人觉得白嫖就是下载即用,你更新我就跟着下载最新的

2024-07-12

ter-datasource,新增动态数据源支持,druid 监控自动配置 loveqq-framework 的前世今生 loveqq-framework 前身是 kfyty-framework 而 kfyty-framework 前身是 kfyty-utils 而 kfyty-utils 前身是 mybatis-demo &ensp;&ensp;&ensp;&ensp;是的,刚

2025-06-19

介绍 @Async:支持自动将普通方法转为异步调用 但是该功能有一个小问题,就是某些业务又需要同步调用时难以实现,特别是返回值为 void 时,这时候只能修改代码兼容两种逻辑 @Async.Await:该注解支持将异步调用自动转为同步

2025-06-11

全量刷新上下文代码示例: package com.kfyty.demo; import com.kfyty.loveqq.framework.boot.K; import com.kfyty.loveqq.framework.boot.context.ContextRefresher; import com.kfyty.loveqq.framework.core.autoconfig.annotation.Autowired; import com.kfyty.loveqq.framework.core.autoconfig.annotat

2024-05-09

​ kfyty-framework 轻量级 ioc/aop 框架,比 spring 更强大的条件注解推断,打包后支持 jar index 启动,启动速度更快 注解式 ioc/aop、自动装配、异步事件、动态代理、注解式 mvc(支持 Restful)、嵌入式 tomcat、 注解式 jdbc 框架、

2023-11-16

更新日志 依赖升级 update springboot 3.1.3 => 3.1.5 update springboot 2.7.14 => 2.7.17(扩展服务) update springboot-admin 3.1.5 => 3.1.7 update satoken 1.35.0.RC => 1.37.0 update mybatis-plus 3.5.3.2 => 3.5.4 适配mp新版本改动 update dynam

2025-06-12

; File jarFile = new File(filePath); jar.transferTo(jarFile); // 添加到框架 ClassLoader JarIndexClassLoader classLoader = (JarIndexClassLoader) IOC.class.getClassLoader(); classLoader.addJarIndex(Collections.singletonList(new JarFile(jarFile))); // 刷新上下文 ContextRefresher.refresh(IOC

2025-05-28

本次更新: 优化:loveqq-boot,事件监听器支持条件表达式 优化:loveqq-core,去除 cglib 代理,使用基于 javassist 的类代理 新增:loveqq-mvc,支持自动暴露公开方法为 post api,进一步减少重复代码 新增:loveqq-boot-starter-test,

2023-11-28

更新日志 版本状态说明 由于 springboot 2.X 与 vue 2.X 官方均宣布停止维护, 故而 框架 1.X 版本 进入维护状态(只处理问题不更新功能) 停止维护时间预计: 2024年6-10月具体根据使用人数动态决定, 此版本已经相当稳定 即便不更新

2024-04-03

pom.xml 文件中的 jeesite-parent 版本号为 5.7.0.springboot3-SNAPSHOT Vue 分离端版本 请与 jeesite-vue 代码仓库源码进行同步,合并代码,手动解决冲突代码。 移除了多个 vite 插件,如果你有,或必须用到,可

2025-03-29

作流(过于复杂 用不明白的人太多) 依赖升级 update springboot 3.2.11 => 3.4.4 update springboot-admin 3.2.3 => 3.4.5 修复重新登录404问题 update mybatis-plus 3.5.8 => 3.5.11 update snailjob 1.1.2 => 1.4.0(感谢 dhb52) update springdoc 2.6.0

2023-11-15

更新日志 依赖升级 update springboot 3.1.3 => 3.1.5 update springboot 2.7.14 => 2.7.17(扩展服务) update springboot-admin 3.1.5 => 3.1.7 update satoken 1.35.0.RC => 1.37.0 update mybatis-plus 3.5.3.2 => 3.5.4 适配mp新版本改动 update dynam