注解
(1)Java注解的三种形式(2)内建注解——@Override(3)自定义注解——@Target、@Retention、@documented、@Inherited
注解 (1)Java注解的三种形式不带参数:@Annotation、@Override只有一个参数@(key=value):
【key值的关键字就叫value】
value可以省略,其余参数名不可以省略
值可以是字符串也可以是数组带有多个参数
@Component——被标注的类的对象由Spring创建,如果无参数则对象名为类名小写,如果有参数则按参数值定义对象
该注解有一个参数value() default “”; 且默认值为空
使用时,可以不带参数@Component;也可以带一个参数@Componemt(value = “myprinter”)意思是给该类创建一个名为myprinter的对象;当只有一个参数且参数名为value时,value可以省略@Componemt(“myprinter”);
当使用带参的注释时,注意在获取该对象时,需要获取一个类型强转的该名字的对象。
@Resource
一个参数@Resource (name = “blackInk”)
多个参数@Resource (name = “blackInk”,type = “” ,lookup ="");
元注解:描述注解的注解,可以标注方法、类、接口、参数
@Target
value=数组,value可以省略
@Retetion
runtime>class(.class)>source(.java)
例如:@Override校验重写
由该注解内容可知,该注解作用于方法且作用范围为source,当文件编译后就不存在了
例如:@Resource对象依赖注入
由该注解内容可知,该注解作用于类、属性、方法且作用范围为runtime,当文件运行实例化对象后起作用。
@documented
@Inherited
例如:@ComponentScan扫描
由该注解内容可知,该注解作用于类且作用范围为runtime,继承@ComponentScans。
@AliasFor(“basepackages”)
String[] value() default {}
@AliasFor(“value”)
String[] basepackage() default {}
——别名,basepackages=value可以被省略



