, aşağıdaki şekilde bunu başarabilirsiniz. Ben böylece Sonra oluşturmak loader.getClass().getResourceAsStream ("filename.properties");
Önce enjeksiyon tip
@BindingType
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE, ElementType.FIELD, ElementType.METHOD,
ElementType.PARAMETER })
public @interface PropertiesResource {
@Nonbinding
public String name();
@Nonbinding
public String loader();
}
tanımlamak kullanarak yüklemek istediğiniz bir şey yaptığım atlanır, ancak durumunda bunun için bir seçenek sağlanan, senin loader=some.properties.loader
gerçekten ne anlama geldiğini emin değilim Bunun için üretici, Adlandırılmış bileşeninize enjekte edin (0).
@Inject
@PropertiesResource(name = "filename.properties", loader = "")
private Properties props;
Bu @HttpParam örnek
here olarak verilir kaynak belgelerine bakarak yaptı. Bu kaynak 1.0.0 yılında, kaynak 1.1.0 başına gibidir, elde açıklama kullandığınız uygulama sunucusu CDI uygulama olarak kaynak (GlassFish 3.x veya JBoss varsa bu
PropertiesResource annotation = ip.getAnnotation(PropertiesResource.class);
değil POM için bu eklemek kadar basittir) örneklerdir standart JavaEE. CDI'nin @ Inject + @ Produces ile böyle bir şey yapabileceğinden şüpheliyim, fakat CDI ile yeterince tanıdık değilim. (Bu yorumu, başkasının ayrıntılarını doldurabileceği umuduyla bırakarak.) –