vi esta pregunta¿Cómo se inyectan los servidores de aplicaciones en los campos privados?
Inject into private, package or public field or provide a setter?
sobre cómo inyectar manualmente en los campos privados anotados (La forma es la adición de los emisores oa través de un constructor)
embargo, la cuestión es cómo hacer un servidor de aplicaciones (como glassfish, axis2, jboss, ...) es capaz de inyectar en un campo privado final (sin agregar setters o constructores a la clase de usuario)?
Citando la pregunta citada:
public SomeClass {
@Inject
private SomeResource resource;
}
es lo que utilizan una JVM personalizada (no el estándar) que permite acceder a los campos privados?
Gracias
Esto es privado, pero no es definitivo. ¿Echaste de menos * final * en el bloque de código? Porque no creo que sea posible inyectar miembros finales privados. (Corrígeme si estoy equivocado.) – whiskeysierra
@Willi: Tienes razón. En el siguiente ejemplo de código puse final, pero incluso el método doInjection() no generó ningún error, el valor no cambió. Entonces eliminé el final. – cibercitizen1