Skip to content

Document Spring Annotation Programming Model in the Wiki [SPR-11515] #16140

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
5 tasks
spring-projects-issues opened this issue Mar 4, 2014 · 1 comment
Closed
5 tasks
Assignees
Labels
type: wiki-documentation A documentation update required on the wiki

Comments

@spring-projects-issues
Copy link
Collaborator

spring-projects-issues commented Mar 4, 2014

Sam Brannen opened SPR-11515 and commented

Status Quo

Over the past several releases, the Spring Framework has continually enhanced its support for meta-annotations and custom composed annotations, potentially with meta-annotation attribute overrides. However, the programming model is not clearly documented in the reference manual. Furthermore, new features for annotation attribute aliases and meta-annotation support have been introduced in 4.2, and these will need to be clearly documented as well.


Deliverables

In the Spring Framework Wiki, introduce a new page covering all features of Spring's support for meta-annotations, including but not limited to the following.

  1. Document the general search algorithm(s) for annotations and meta-annotations on classes, interfaces, methods, and annotations.
  2. Document support for annotation attribute aliases configured via @AliasFor.
  3. Document support for composed annotations.
  4. Document support for meta-annotation attribute overrides in composed annotations.
    • Document the algorithm used when looking up attributes, specifically explaining:
    • What happens if an attribute and one of its aliases are declared somewhere within the annotation hierarchy? Which one takes precedence?
    • In general, how are conflicts involving annotation attributes resolved?
  5. Document the special handling of the value attribute for @Component and @Qualifier, or cross reference existing documentation as appropriate.

Annotations Using @AliasFor as of Spring Framework 4.2

  • org.springframework.cache.annotation.Cacheable
  • org.springframework.cache.annotation.CacheEvict
  • org.springframework.cache.annotation.CachePut
  • org.springframework.context.annotation.ComponentScan.Filter
  • org.springframework.context.annotation.ComponentScan
  • org.springframework.context.annotation.ImportResource
  • org.springframework.context.annotation.Scope
  • org.springframework.context.event.EventListener
  • org.springframework.jmx.export.annotation.ManagedResource
  • org.springframework.messaging.handler.annotation.Header
  • org.springframework.messaging.handler.annotation.Payload
  • org.springframework.messaging.simp.annotation.SendToUser
  • org.springframework.test.context.ActiveProfiles
  • org.springframework.test.context.ContextConfiguration
  • org.springframework.test.context.jdbc.Sql
  • org.springframework.test.context.TestExecutionListeners
  • org.springframework.test.context.TestPropertySource
  • org.springframework.transaction.annotation.Transactional
  • org.springframework.transaction.event.TransactionalEventListener
  • org.springframework.web.bind.annotation.ControllerAdvice
  • org.springframework.web.bind.annotation.CookieValue
  • org.springframework.web.bind.annotation.CrossOrigin
  • org.springframework.web.bind.annotation.MatrixVariable
  • org.springframework.web.bind.annotation.RequestHeader
  • org.springframework.web.bind.annotation.RequestMapping
  • org.springframework.web.bind.annotation.RequestParam
  • org.springframework.web.bind.annotation.RequestPart
  • org.springframework.web.bind.annotation.ResponseStatus
  • org.springframework.web.bind.annotation.SessionAttributes
  • org.springframework.web.portlet.bind.annotation.ActionMapping
  • org.springframework.web.portlet.bind.annotation.RenderMapping

Affects: 4.0 GA

Issue Links:

0 votes, 6 watchers

@spring-projects-issues
Copy link
Collaborator Author

Sam Brannen commented

Location of Wiki page: Spring Annotation Programming Model

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: wiki-documentation A documentation update required on the wiki
Projects
None yet
Development

No branches or pull requests

2 participants