注解

  1. @autowire:
    实现自动装配
    直接在属性上用,也可以在set方式上使用(甚至可以不用编写set方法)
    这个标签内的属性required可以为true或false
    如果为false说明这个对象可以为空,否则不允许为空
    
  2. @Nullable :
    可以让属性为空,即使为空也不报错
    
  3. @Qualifier:
    如果自动装配环境复杂,比如上面猫狗例子中有多个猫狗,通过id无法分清谁是谁,
    @Qualifier(value = "dog333")
    这时我们可以通过这个标签
    指腚唯一的bean对象
    
    
  4. @Resource:
    同样实现自动装配
    这是java的原生注解,几乎兼容了spring的自动装配注解
    此注解会先去通过id查找注入
    如果id无对应,则可以通过类型注入(类型必须唯一)
    此注解内也有属性name,可以给name赋值,
    这样就可以解决类型不唯一,名字也都不匹配的问题。
    
  5. @Component:
    组件,放在pojo类上,说明这个类被spring管理了,
    等价于<bean id = "user class="com.zhaox.pojo.user"/>
    
  6. @Value("zhaox")
    相当于<property name = "name" value""zhaox/>
    为bean注入属性
    基本放在set方法上,或者属性上
    注意,基本只有简单类型可以注入,如果是复杂类型,还是推荐配置文件注入
    
  7. 作用域设置
    @Scope("singleton")
    @Scope("prototype")
    可以设置某个类的作用域
    
  8. @Configuration:
    当使用java类进行xml配置的时候可以使用这个注解进行注册bean,在config类上加这个注解
    
  9. @ComponentScan("com.zhaox")
    这个注解用于扫描包,在不使用配置文件配置applicationContext.xml时,可以用这个标签进行扫描
    
  10. @import
    这个注解类似于Spring配置中的import标签
    

醉后不知天在水,满船清梦压星河