Annotation based property injection