Java注解研究之@Required

226 阅读1分钟

Created by Wang, Jerry on Jul 27, 2016

@Required
 public void setChineseAddressService(final AddressService chineseAddressService)
 {
  this.chineseAddressService = chineseAddressService;
 }

@Required注解检查 但他只检查属性是否已经设置而不会测试属性是否非空

首先我们需要在程序里面加上注解

@Required  
public void setProduct(Product product) {  
    this.product = product;  
 }  

注意@Required只能设置在setter方法上
接着我们需要在 配置文件中加上这样一句话

```xml
<bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor"/>   

这是Spring的一个处理器用于检查
如果Spring的版本是2.5或以上,我们可以直接用下列方式来配置

<beans   xmlns="http://www.springframework.org/schema/beans"  
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
             xmlns:p="http://www.springframework.org/schema/p"  
   <span style="color:#ff0000;">xmlns:context="http://www.springframework.org/schema/context"</span>  
         xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
  <span style="color:#ff0000;">http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd</span>">  
<span style="color:#ff0000;"><context:annotation-config/></span>  

clipboard1

这样就配置完成了,这样如果任何带有@Required的属性未设置的话 将会抛出BeanInitializationException异常