文档章节

JDK-PostConstruct使用

Sorin_Su
 Sorin_Su
发布于 2016/09/28 22:03
字数 364
阅读 23
收藏 0

官方说明:  

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

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

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;
		}
	}

}

 

© 著作权归作者所有

Sorin_Su
粉丝 10
博文 36
码字总数 19466
作品 0
朝阳
程序员
私信 提问
《Spring Recipes》第二章笔记:Customizing Bean Initiali...

《Spring Recipes》第二章笔记:Customizing Bean Initialization and Destruction 问题 用户想要指定Spring容器在创建完一个bean后,立刻调用一个PostConstruct方法;或者在销毁一个bean之前...

LiJIaming
2012/05/17
0
0
Spring Bean 生命周期回调

Spring生命周期回调说明 如果只是简单的对象初始化,我们可以将其放到构造器中处理;如果是对注入的类或者帮助类做一些初始化处理,可以考虑使用初始化方法。 Spring提供了很多的扩展点,其中...

花_现
2016/11/13
526
0
spring中Constructor、@Autowired、@PostConstruct的顺序

其实从依赖注入的字面意思就可以知道,要将对象p注入到对象a,那么首先就必须得生成对象p与对象a,才能执行注入。所以,如果一个类A中有个成员变量p被@Autowired注解,那么@Autowired注入是发...

沧海一刀
2018/10/25
0
0
static静态方法内调用Spring(依赖注入)的bean

前言:一般需要在static方法里调用注入进来的service,因为是静态方法,所以必须声明该service也必须是static的,这时候你会发现注入不进来,会报null指针,这个时候需要使用 @PostConstruct...

王小念和木子田博客
2016/04/26
0
0
spring@PostConstruct注解和构造方法的调用顺序

先看下@PostConstruct的注解 自己翻译一下,意思是: PostConstruct注解用于方法上,该方法在初始化的依赖注入操作之后被执行。这个方法必须在class被放到service之后被执行,这个注解所在的...

大海
2016/12/22
720
0

没有更多内容

加载失败,请刷新页面

加载更多

阿里云安全中心:自动化安全闭环实现全方位默认安全防护

随着数字化转型的深入发展,企业云上资产越来越多元化,随之而来的是安全威胁的复杂化,企业需要花费大量精力进行告警分析、威胁检测、病毒查杀等工作。Gartner曾指出,随着安全警报的复杂性...

迷你芊宝宝
20分钟前
1
0
好程序员web前端分享值得参考的css理论:OOCSS、SMACSS与BEM

好程序员web前端分享值得参考的css理论:OOCSS、SMACSS与BEM 最近在The Sass Way里看到了Modular CSS typography一文,发现文章在开头部分就提到了OOCSS、 SMACSS、 BEM、这3个词。“如果还不...

好程序员IT
23分钟前
2
0
Gradle的安装和在idea的配置

下载gradle 下载地址:http://services.gradle.org/distributions/ 。我下载的是 gradle-5.4-bin.zip。然后解压到G:\gradle-5.4 配置环境变量。 有3个环境变量: GRADLE_HOME 等于gradle的安...

王坤charlie
24分钟前
1
0
聊聊分布式事务,再说说解决方案

前言 最近很久没有写博客了,一方面是因为公司事情最近比较忙,另外一方面是因为在进行 CAP 的下一阶段的开发工作,不过目前已经告一段落了。 接下来还是开始我们今天的话题,说说分布式事务...

群星纪元
26分钟前
2
0
分布式项目(6)consul注册中心

lelinked
36分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部