36 Star 139 Fork 40

如梦技术 / mica-auto

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README_EN.md

mica-auto SPI、Spring boot stater Development Tools

Java CI JAVA 8 mica-auto Maven Codacy Badge

Mica-auto is a basic component of the Spring Cloud microservices framework MICA, which is used to generate some basic configurations of the Spring Boot Starter.

English | 简体中文

Version Update Record

Principle

Mica Auto uses the Annotation Processor, which is not a new technology. It's been around since JDK 1.6. The Annotation Processor is a tool of javac that scans and processes annotations at compile time. Using the Annotation Processor, you can obtain information about annotations and annotated objects, and then automatically generate Java code based on annotations, eliminating manual writing and improving coding efficiency. Lombok is also famous for this technology.

Usage Scenarios

It is mainly used to avoid the inconsistency between the Spring Boot main project package and the subproject or submodule package, and avoid the problem that the package cannot be scanned. .Customize the Spring Boot starter. .Subprojects in a multi-module project (adding MICA-Auto to a master project is not recommended).

Functions

  • Automatically generate spring.factories, spring-devtools.properties configuration (spring Boot starter development tools).
  • Generate the FeignClient in the spring.factories for automated Feign configuration in the mica-cloud.
  • Generate the Java Spi configuration, you need to add the @AutoService annotation.
Annotation spring.factories or Spi key
@AutoContextInitializer ApplicationContextInitializer
@AutoListener ApplicationListener
@AutoRunListener SpringApplicationRunListener
@AutoEnvPostProcessor EnvironmentPostProcessor
@AutoFailureAnalyzer FailureAnalyzer
@AutoConfigImportFilter AutoConfigurationImportFilter
@AutoTemplateProvider TemplateAvailabilityProvider
@AutoEnableCircuitBreaker EnableCircuitBreaker
@AutoConfigDataLocationResolver ConfigDataLocationResolver
@AutoConfigDataLoader ConfigDataLoader
@AutoDatabaseInitializerDetector DatabaseInitializerDetector
@AutoDependsOnDatabaseInitializationDetector DependsOnDatabaseInitializationDetector
@Component EnableAutoConfiguration
@AutoIgnore Ignore and do not generate to spring.factories
@AutoService java Spi generates the configuration

Usage

Note: If you are using Lombok in your project, place the mica-Auto dependency behind Lombok

maven

<dependency>
  <groupId>net.dreamlu</groupId>
  <artifactId>mica-auto</artifactId>
  <version>2.1.3</version>
  <scope>provided</scope>
</dependency>

gradle >= 5.x

annotationProcessor("net.dreamlu:mica-auto:2.1.3")

gradle < 5.x

compileOnly "net.dreamlu:mica-auto:2.1.3"

Principle

Scan @component, automatically generate the corresponding configuration, and support composite annotations.

Mica Ecological

Open Source Licenses

LGPL(GNU Lesser General Public License)

The User’s Rights

Allow to introduce the source code in the form of free for study, graduation, corporate projects, private work, etc. Modify the code in special cases, but still want to close the source must be approved by the author. For reference, please specify: refer to mica-auto: https://github.com/lets-mica/mica-auto

References

WeChat Official Account

dreamlu

Comments ( 7 )

Sign in for post a comment

About

mica-auto 使用注解自动生成 java spi 和 Spring boot 的配置。🔝 记得右上角点个star 关注更新! expand collapse
Cancel

mica-auto

Contributors

All

Activities

load more
can not load any more
Java
1
https://gitee.com/596392912/mica-auto.git
git@gitee.com:596392912/mica-auto.git
596392912
mica-auto
mica-auto
master

Search

105716 1d94204e 1850385 105716 2d26be5c 1850385