Spring Gets Expanded Java Annotation Support

When writing a complex Java program filled with many interlocking objects, any automation of routine tasks can be a big help. So Java developers using the Java Spring framework should welcome recent additional support for annotations, which could take care of many mundane construction and configuration duties. Spring is an open source collection of components for developing Java Enterprise Edition-based applications.

Codified in Java Specification Request 250 and added to version 5 of Java, annotations "allow you to add metadata to Java source code," explained Rod Johnson, chief executive officer of SpringSource, which sells a commercial version of Spring, as well as corrals the open source Spring development. Johnson gave a presentation on the latest version of Spring, version 2.5, at the JavaOne Conference, held earlier this year in San Francisco.

Annotations are not merely human-readable metadata. They are a set of extensible keywords, each prefixed by the @ symbol, that class constructors and other Java tools can interpret and process. Annotations have actually been around since Spring version 1.2, Johnson said. You could annotate a method or type so that it could be exported to Java Management Extensions (JMX), a Java-based tool for managing distributed Java applications.

The latest Spring really embraces annotations, however. "In Spring 2.5, we've extended annotation support to provide comprehensive support for dependency injection," Johnson said. Dependency injection, the heart of Spring, allows a program to call an external service without knowing the particulars of where that service is located. The nice thing about these annotations, named @autowired and @resource, is that they can eliminate external configurations of applications. Also, they can be used to change the configuration of a program without changing the source code, Johnson said.

Another new set of annotations supported in 2.5, called meta-annotations, can help developers build a semantic model of the application. Some of these annotations have been standardized, and you can also annotate your own types through @component. These annotations identify and document the role of types, such as service object or repository. This allows Spring to scan a program, and find every class and consider it as a candidate for reuse. With Spring, "changes are picked up automatically. So in development, if you pick up a new class, annotate with @component, it instantly becomes a Spring [component] without the need to author any configuration," Johnson said. Using Eclipse Spring IDE plug-in, you can also generate a map of your application using these annotations.

For more information, go to the Spring 2.5 reference guide.

About the Author

Joab Jackson is the chief technology editor of Government Computing News. You can contact Joab at [email protected].

Featured

  • Image of digital screen with data and math formulas on black background

    AI Giants Report Advances in Mathematical Research

    OpenAI has published what it says is an AI-generated solution to the Navier-Stokes existence and smoothness problem, one of mathematics' seven Millennium Prize Problems, while Anthropic has reported separate advances in research mathematics and formal proof generation.

  • Modern abstract high-speed light motion effect on black background

    OpenAI Pumps Brakes on Frontier AI Training After Hugging Face Breach

    OpenAI is changing how it trains, monitors and contains frontier AI models after its July cybersecurity evaluation breach reached Hugging Face's production infrastructure.

  • business person holding paper chain of people in his hands

    Want to Close the Skills Gap? Bring Learning Closer to Work

    If the jobs of the future require different skills, creating those jobs is only half the equation. We also need realistic pathways for people to reach them.

  • Blurred silhouettes of business people in a modern office with a glowing blue network overlay

    Open Secure AI Alliance Moves to Linux Foundation

    The Open Secure AI Alliance has moved under the Linux Foundation, giving the initiative what the organizations describe as a neutral home for developing open source tools, shared standards and defensive practices. The Alliance was launched by NVIDIA in July to develop open security technologies for AI systems and agents.