Spring IoC(三)bean属性、方法注释

1、环境配置

  使用注解开发jdk1.5、Spring2.5支持,在xml中添加context相关的是四个配置;

<beans default-lazy-init="true"  xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">

    <context:annotation-config />


</beans>

2、注释类别

  2.1 @Autowired (required =true) //【常用】默认为true,表示注释了就必须装配上,属于Spring的注解。默认是使用byType的形式查找,找不到或同类型有多个bean就会报错

    应用于构造函数:

      如果只有一个构造方法可以不写;多个构造方法注释后表示容器以哪些构造方法为默认注入。

    应用于属性:

      会自动寻找对应类型的bean;set方法可以忽略。如果没找到会报错。可以添加required =false

    应用于方法上:

      同理,如果没找到会报错;

  2.2 @Qualifier(value = "beanID")  一般是和@Autowired一起搭配使用,属于Spring的注解

  2.3 @Resource 属于Javax的注解,效果相当于@Autowired和@Qualifier一起用,可以指定绑定beanID(name = beanID),仅支持具有单个参数的字段和bean属性设置器方法,效率相对@Autowired差一些。

  2.4 @Autowired和@Resource的区别
    @Autowired通过byType的方式实现
    @Resource 默认通过byName的方式实现,如果找不到则通过ByType实现。

  2.5 @Primary 属于Spring的注解,用于有多个共同类型的bean存在时,如果有一个bean申明了primary="true",那么就会使用那个bean,而不是报错。只能用于方法上。

  2.6 @NonNull可以标注在方法、字段、参数之上,表示对应的值不可以为空;(辅助功能)

  2.7 @Nullable注解可以标注在方法、字段、参数之上,表示对应的值可以为空;(辅助功能)

     以上两个注解在程序运行的过程中不会起任何作用,只会在IDE、编译器、FindBugs检查、生成文档的时候有做提示;只有安装了FindBugs插件并运行后会做对应的提示;

posted @ 2020-02-27 21:58  门虫不是虫  阅读(...)  评论(...编辑  收藏