JDK-PostConstruct使用

官方说明:   java

        PostConstruct 注释用于在依赖关系注入完成以后须要执行的方法上,以执行任何初始化。此方法必须在将类放入服务以前调用。支持依赖关系注入的全部类都必须支持此注释。即便类没有请求注入任何资源,用 PostConstruct 注释的方法也必须被调用。只有一个方法能够用此注释进行注释。应用 PostConstruct 注释的方法必须遵照如下全部标准:该方法不得有任何参数,除非是在 EJB 拦截器 (interceptor) 的状况下,根据 EJB 规范的定义,在这种状况下它将带有一个 InvocationContext 对象 ;该方法的返回类型必须为 void;该方法不得抛出已检查异常;应用 PostConstruct 的方法能够是 public、protected、package private 或 private;除了应用程序客户端以外,该方法不能是 static;该方法能够是 final;若是该方法抛出未检查异常,那么不得将类放入服务中,除非是可以处理异常并可从中恢复的 EJB。spa

*:@PostConstruct标记的类,在项目启动以后就能使用@Autowired注解的对象了code

import javax.annotation.PostConstruct;
@Service
@Transactional(readOnly = true)
public class MobileCodeService{
       @Autowired
       private DictService dictService;

       /**
         * 查询字典表,查看是否校验手机验证码   0:校验  1:不校验
        */
	@PostConstruct
	public void init(){
		Dict dict = dictService.get("0001");
		if(dict != null){
		   String value = dict.getValue();
		   if("1".equals(value)) isValid = false;
		}
	}

}
相关文章
相关标签/搜索