Los principales problemas en este artículo se utilizan para implementar el ensamblaje de atributos utilizando la anotación @Resource, que implica inyección de dependencia - ensamblaje manual, la diferencia entre las anotaciones @aUtowired y @Resource, etc., como sigue.
Use la inyección de campo (para el método de anotación): la inyección de objetos dependientes se puede ensamblar o ensamblar manualmente automáticamente. El ensamblaje manual se recomienda en aplicaciones prácticas, porque el ensamblaje automático causará situaciones desconocidas y los desarrolladores no pueden prever el resultado final del ensamblaje final.
Inyección de dependencia - Asamblea manual
Hay dos métodos de programación para ensamblar manualmente objetos dependientes.
1. En el archivo de configuración XML, configúrelo a través del nodo de frijol, como:
<bean id = "orderService"> // Inyección de constructor <constructor-arg index = "0" type = "java.lang.string" valor = "xxx"/> // Método de establecimiento de propiedades inyección <propiedad name = "name" valor = "zhao"/> </bean>
2. Use la anotación @aUtowired o @Resource para ensamblar en el código Java. Pero necesitamos configurar la información en el archivo de configuración XML
<Beans xmlns = "http://www.springframework.org/schema/beans" xmlns = "http://www.w3.org/2001/xmlschema-instance" xmlns: context = "http://www.springFrame.org/schemHemHemHem" " Xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/context http://www.springingwork.org/schema/conteN
Esta configuración registra implícitamente múltiples procesadores que analizan los comentarios:
Anotación automática de postesprocesador, CommonAnnotationBeanPostProcessor
PersistenceanNotationBeanProcessor, requerido AnnotationBeanPostProcessor
3. Diferencia
Use la anotación @Autowired o @Resource para ensamblar en el código Java. La diferencia entre estas dos anotaciones es que @AUTOWIRED se ensambla por tipo de tipo predeterminado, @Resource se ensambla por nombre de forma predeterminada. Solo cuando no se puede encontrar un frijol que coincida, se ensamblará por tipo
@AUTOWIREDPRIVATE PERSONDAOO PERSONDAOO; // Usado en el campo @AUTOWIREDPublic Void setOrderDao (Orderdao Orderdao) {this.orderdao = ordendao; // utilizado en el método setter de la propiedad}La anotación @autowired es ensamblar objetos dependientes por tipo. Por defecto, requiere que existan objetos dependientes. Si se permiten valores nulos, se puede establecer en falso; Si queremos ensamblar con nombre, podemos usarlo junto con la anotación @Qualfier, como sigue:
@Autowired@Qualifier ("Personondao") Persondao Persondao privado;La anotación @Resource, como @aUtowired, se puede anotar en el método de establecimiento de un campo o propiedad, pero se ensambla por nombre por defecto. El nombre se puede especificar a través del atributo de nombre de @Resource; Si no se especifica el atributo de nombre, cuando la anotación está marcada en el campo, el nombre del campo predeterminado se usa como el nombre del frijol para buscar el objeto de dependencia; Cuando la anotación está marcada en el método establecido por la propiedad, el nombre del atributo se usa como el nombre del frijol para buscar el objeto de dependencia
@Resource (name = "PERSONDAOBEABEA") PERSONDAUNA PERSONDARA DE PERSONDARA PRIVADO;
NOTA: Si no se especifica el atributo de nombre y el objeto aún no se encuentra de forma predeterminada, la anotación @Resource vuelve a ensamblaje por tipo. Pero una vez que se especifica el atributo de nombre, solo se puede ensamblar por nombre.
Resumir
Lo anterior es toda la explicación detallada de la implementación del código de ensamblaje de atributos a través de @Resource Annotation. Espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a este sitio:
" Explicación detallada del método y el código de bean de instanciación de primavera "
" Método de fábrica de instancias de Spring y código de ejemplo de método de fábrica estática "
" Spring usa el código para leer el análisis de instancia del archivo de propiedades "
Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!