我在某些课程中使用@PropertyInject
。
这些类是通过蓝图注入的(使用maven blueprint插件)。我想检查使用@PropertyInject
注入字段的值。
问题是在PostConstruct
内(由maven-blueprint-plugin - > init方法支持),所有字段仍然为空。
但是如果我使用注入那些文件的对象(一个骆驼端点),所有字段都设置正确。
因此,在“PostConstruct”和实例的使用之间,所有字段都会被注入。有没有办法可以在注射后直接挂钩来检查值(!= null)?
答案 0 :(得分:2)
将@PropertyInject放在setter上并检查setter中设置的值。
@PropertyInject("prop")
public void setProp(String value) {
if (value == null) {
throw new IllegalArgumentException("prop cannot be null");
}
this.prop = value;
}