8.2.8 使用@Required检查注入
8.2.8 使用@Required检查注入
有些时候,可能会因为疏忽忘记为某个setter方法配置依赖注入:既没有显式通过<property.>配置依赖注入;也没有使用自动装配执行依赖注入。这种疏忽通常会导致由于被依赖组件没有被注入,当程序运行时调用被依赖组件的方法时就会引发NPE异常。
为了避免上面的疏忽,可以让Spring在创建容器时就执行检查,此时需要为setter方法添加@Required修饰,这时Spring会检查该setter方法:如果开发者既没有显式通过<property>元素配置依赖注入,也没有使用自动装配执行依赖注入, Spring容器会报BeanInitializationException异常。
程序示例
1  | E:\workspace_QingLiangJiJavaEEQiYeYingYongShiZhang5\Required  | 
例如,如下Chinese类使用@Required注解修饰了setGunDog()方法
1  | public class Chinese implements Person  | 
上面程序使用@Required修饰了setGunDog()方法,这意味着程序必须为该setter方法配置依赖注入:要么通过<property>元素配置设值注入,要么通过自动装配来执行依赖注入;否则Spring启动容器时就会引发异常。