Skip to content

Overhaul annotation handling code #22560

Closed as not planned
Closed as not planned
@philwebb

Description

@philwebb

This issue collects the various tasks and ideas related to overhauling our annotation handling code. This issue will be edited as additional ideas arise.

Prerequisites

These tasks will generally help with implementing the new API:

API Improvements

These are the core API related tasks:

Minor Performance Improvements

Initially the new API will cause an additional overhead. We can reclaim a few milliseconds in a few other areas of the framework to help:

Migrate classes to use the new API directly

A few classes would benefit from using the new annotations API directly. Especially relevant are any areas of the code that make several utils calls, when they could hold onto a MergedAnnotations instance:

Make use of annotation index

Indexing annotations to do less work may help performance.

Overhaul metadata code

The existing ASM based meta-data reader code currently recursively processes annotations. The new MergedAnnotations API may be suitable to expose directly. It might also be possible to not use ASM when reading meta-annotations and instead just use standard reflection.

Accidentally introduced regressions

Metadata

Metadata

Assignees

No one assigned

    Labels

    in: coreIssues in core modules (aop, beans, core, context, expression)type: taskA general task

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions