在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
注解,指定了扫描的包路径,然后在配置类中进行了扫描,使得自定义注解生效。