¿Existe alguna diferencia entre utilizar un atributo id
y el atributo name
en un elemento <bean>
en un archivo de configuración de Spring?Diferencia entre el uso del ID de frijol y el nombre en el archivo de configuración de Spring
Respuesta
Desde el Spring reference, 3.2.3.1 Naming Beans:
Cada bean tiene uno o más ID (también llamados identificadores o nombres de estos; términos se refieren a la misma cosa). Estos ID deben ser únicos dentro del contenedor el grano se encuentra alojado en. Un grano casi siempre tendrá un solo identificación, pero si un grano tiene más de un identificación, los extras puede ser esencialmente alias considerados.
Al utilizar basados en XML de configuración metadatos, se utiliza el 'id' o 'nombre' atributos para especificar el identificador (s) de frijol . El atributo 'id' le permite especificar exactamente un identificador, y como es un atributo de ID de elemento XML real , el analizador XML puede hacer alguna validación adicional cuando otros elementos hacen referencia a la identificación; como tal, es la forma preferida de especificar un id de frijol. Sin embargo, la especificación XML limita los caracteres que son legales en ID XML. Esto es por lo general no una restricción, pero si usted tiene una necesidad utilizar uno de estos XML especiales caracteres, o quiere introducir otros alias para el grano, es posible que también o lugar especificar uno o más de frijol ids, separados por una coma (,), punto y coma (;) o espacios en blanco en el atributo 'name' .
Así que básicamente el atributo id
se ajusta a las normas atributo ID XML mientras que name
es un poco más flexible. En términos generales, uso name
casi exclusivamente. Simplemente parece más "Spring-y".
¿Prefiere usar el atributo "nombre" aunque la referencia de Spring que ha citado recomiende usar el atributo "id"? Incluso si prefiere quedarse con "nombre", no puede llamarlo más "Spring-y" si la referencia de Spring sugiere lo contrario :) Esto es quisquilloso, lo sé;) – theadam
Cualquiera de los dos funcionaría. Depende de sus necesidades:
Si su identificador de bean contiene caracteres especiales, por ejemplo (/viewSummary.html
), no se permitirá como el bean id
, porque no es una identificación XML válida. En tales casos, podría omitir la definición del bean id
y suministrar el bean name
en su lugar.
El atributo name
también ayuda a definir alias
es para su bean, ya que permite especificar múltiples identificadores para un bean determinado.
Más uno para decirlo con sus propias palabras y dando un ejemplo de por qué se pueden necesitar caracteres especiales. –
Gracias. Lo aprecio. – pugmarx
Desde Spring 3.1, el atributo id
es xsd:string
y permite el mismo rango de caracteres que el atributo name
.
La única diferencia entre un id
y una name
es que un name
puede contener varios alias separados por una coma, punto y coma o espacios en blanco, mientras que un id
debe ser un valor único.
Desde la primavera 3.2 documentación:
En metadatos de configuración basados en XML, utilice los atributos id y/o name para especificar los identificadores de bean. El atributo id le permite especificar exactamente una identificación. Convencionalmente, estos nombres son alfanuméricos ('myBean', 'fooService', etc.), pero también pueden ser caracteres especiales. Si desea introducir otros alias para el bean, también puede especificarlos en el atributo de nombre, separados por una coma (,), punto y coma (;) o espacio en blanco. Como nota histórica, en las versiones anteriores a Spring 3.1, el atributo id se tipeó como un xsd: ID, que restringía los posibles caracteres. A partir de 3.1, ahora es xsd: string. Tenga en cuenta que la singularidad del id. De frijol sigue siendo impuesta por el contenedor, aunque ya no por los analizadores XML.
- 1. Diferencia entre la ubicación del archivo de configuración php.ini y el archivo de configuración cargada?
- 2. Cualquier diferencia entre File.ReadAllText() y el uso de un StreamReader para leer el contenido del archivo?
- 3. diferencia entre el nombre de la entidad y el nombre del conjunto de entidades
- 4. Diferencia entre el ID de grupo de usuario y scopeGroupId
- 5. diferencia entre @Component y @Configuration en Spring 3
- 6. Diferencia entre el espacio de nombre raíz y el nombre del ensamblado
- 7. ¿Cómo cambiar el nombre del archivo de configuración en ClickOnce?
- 8. iOS ID del paquete del desarrollador y el nombre de la aplicación ya están en uso
- 9. Diferencia entre ID y datos-dojo-id
- 10. Diferencia entre el uso de XMLRoot/XMLElement y el uso de atributos Serializable() (en C#)
- 11. Diferencia entre el archivo HDF5 y el archivo PyTables
- 12. Diferencia entre el archivo .keystore y el archivo .jks
- 13. Encontrar el nombre del archivo de configuración actual
- 14. Diferencia entre el archivo .o y .ko
- 15. Diferencia entre el uso de Trace y TraceSource
- 16. Java - Configuración del archivo de propiedades Spring para el archivo jar
- 17. nueva transacción en el frijol de primavera
- 18. Diferencia entre DataBinder y ConversionService en Spring
- 19. Ruta de archivo dinámica y nombre de archivo para FileHandler en el archivo de configuración del registrador en python
- 20. diferencia entre @id y @android: id
- 21. Diferencia entre Request.QueryString [ "id"] y Solicitud [ "id"]
- 22. diferencia entre el símbolo y el nombre de la variable en Emacs Lisp
- 23. ¿Cómo controlar el orden de la invocación del método init de frijol en Spring?
- 24. primavera Lenguaje Expresión y Spring Security 3: el acceso a la referencia de frijol en @PreAuthorize
- 25. ¿Cuál es la diferencia entre el archivo app.config y el archivo XYZ.settings?
- 26. ¿Cómo uso un archivo de propiedades opcional en un archivo de configuración de Spring?
- 27. Diferencia entre el análisis de un archivo de texto en el modo r y rb
- 28. Diferencia entre escribir en el archivo atómicamente y no
- 29. ¿Cuál es la diferencia entre el casting y el uso de "como" en C#?
- 30. ¿Cuál es la diferencia entre el formato .ipa y .app en el uso de iphone?
es fácil de responder a las preguntas de esta manera directa y las respuestas tan sencillas y completas. Estupendo. ¡Gracias! –