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
2.6 @NonNull可以标注在方法、字段、参数之上,表示对应的值不可以为空;(辅助功能)
2.7 @Nullable注解可以标注在方法、字段、参数之上,表示对应的值可以为空;(辅助功能)
以上两个注解在程序运行的过程中不会起任何作用,只会在IDE、编译器、FindBugs检查、生成文档的时候有做提示;只有安装了FindBugs插件并运行后会做对应的提示;