SpringCloud之@SpringBootApplication
SpringCloud基于SpringBoot,所以在启动时也需要以下代码进行启动。
SpringApplication.run(xxxApplication.class,arg);
点进去注解内可以看到有七个注解
他们分别有各自的作用:分为四个元注解和三个配置引导注解。
四大元注解
Target(ElementType.TYPE)
它的作用就是:指示注释类型适用的上下文,指明了修饰的这个注解的使用范围,即被描述的注解可以用在哪里,它里面有一个ElementType类,内部有8个值。
TYPE:类,接口或者枚举
FIELD:域,包含枚举常量
METHOD:方法
PARAMETER:参数
CONSTRUCTOR:构造方法
LOCAL_VARIABLE:局部变量
ANNOTATION_TYPE:注解类型
PACKAGE:包
@Documented
它的意思就是表示默认情况下,该注解该由javadoc工具记录,默认情况下javadoc是不包括注解的,但如果声明注解时指定了@Documented,它会被javadoc之类的工具处理,所以注解类型信息也会被包括在生成的文档中,只负责标记,没有成员取值。
@Retention(RetentionPolicy.RUNTIME)
它的意思是指你要保留地注解的生命周期,会保留到哪个阶段,它的参数RetentionPolicy是一个类,内部定义了三个参数:1.SOURCE2.CLASS3.RUNTIME,他们三个的作用就是配合@Retention来定义保留的时间。
3.1SOURCE:源码级别保留,编译后即丢弃
3.2CLASS:变异级别保留,变异后的class文件中存在,在jvm运行时丢弃,这是默认值。
3.3RUNTIME:运行级别保留,编译后的class文件中存在,在jvm运行时保留,可以被反射调用。
@Inherited
简单来说:它是一个标记注解,某个子类使用了它,就能通过它来获取到父类的注解。
这是它的中文文档:
指示注释类型被自动继承。如果在注释类型声明中存在Inherited元注释,并且用户在某一类声明中查询该注释类型,同时该类声明中没有此类型的注释,则将在该类的超类中自动查询该注释类型。此过程会重复进行,直到找到此类型的注释或到达了该类层次结构的顶层(Object)为止。如果没有超类具有该类型的注释,则查询将指示当前类没有这样的注释。
注意,如果使用注释类型注释类以外的任何事物,此元注释类型都是无效的。还要注意,此元注释仅促成从超类继承注释;对已实现接口的注释无效。
如果您觉得本文的内容对您的学习有所帮助:
关键字:
股权众筹的三大好处