关灯
开启左侧

举例解释@Required注解

[复制链接]
意大利炮 发表于 2018-12-19 11:29:18 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 

在产品级别的应用中,IoC容器可能声明了数十万了bean,bean与bean之间有着复杂的依赖关系。设值注解方法的短板之一就是验证所有的属性是否被注解是一项十分困难的操作。可以通过在<bean>中设置“dependency-check”来解决这个问题。

在应用程序的生命周期中,你可能不大愿意花时间在验证所有bean的属性是否按照上下文文件正确配置。或者你宁可验证某个bean的特定属性是否被正确的设置。即使是用“dependency-check”属性也不能很好的解决这个问题,在这种情况下,你需要使用@Required 注解。

需要用如下的方式使用来标明bean的设值方法。

  1. [java]
  2. public class EmployeeFactoryBean extends AbstractFactoryBean<Object>{   
  3.     private String designation;   
  4.     public String getDesignation() {   
  5.         return designation;   
  6.     }   
  7.     @Required   
  8.     public void setDesignation(String designation) {   
  9.         this.designation = designation;   
  10.     }   
  11.     //more code here   
  12. }   
复制代码
RequiredAnnotationBeanPostProcessor是Spring中的后置处理用来验证被@Required 注解的bean属性是否被正确的设置了。在使用RequiredAnnotationBeanPostProcesso来验证bean属性之前,首先要在IoC容器中对其进行注册:
  1. [html]
  2. <bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor" />   
复制代码
但是如果没有属性被用 @Required 注解过的话,后置处理器会抛出一个BeanInitializationException 异常
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 最佳新人

    注册账号后积极发帖的会员

0关注

2粉丝

139帖子

排行榜
关闭

站长推荐上一条 /1 下一条

官方微信

全国服务热线:

400-0708-360

公司地址:国家西部信息安全产业基地(成都市高新区云华路333号)

邮编:610000    Email:2908503813@qq.com

Copyright   ©2015-2016  EOIT论坛Powered by©Discuz!    ( 蜀ICP备11000634号-7 )