在Spring Boot中,可以通过自定义注解来标记启动类,在启动类上添加该自定义注解,然后通过扫描该注解来启动Spring Boot应用程序。
以下是一个简单的示例:
首先创建一个自定义注解 MySpringBootApplication
:
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.core.annotation.AliasFor; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @SpringBootApplication public @interface MySpringBootApplication { @AliasFor(annotation = SpringBootApplication.class) String[] scanBasePackages() default {}; }
然后在启动类上使用该自定义注解:
@MySpringBootApplication(scanBasePackages = "com.example") public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }
最后,在Spring Boot应用程序的配置类中进行自定义注解的扫描:
@SpringBootApplication @ComponentScan(basePackages = {"com.example"}) public class AppConfig { }
这样就实现了自定义启动类注解的功能。在启动类中使用了 MySpringBootApplication
注解,指定了扫描的包路径,然后在配置类中进行了扫描,使得自定义注解生效。