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

  • Abstract polygonal hacker with laptop on technology dark background

    Cybersecurity Researchers Identify First Fully Autonomous AI-Driven Ransomware Attack

    Threat researchers at cloud security firm Sysdig have disclosed what they describe as the first documented ransomware operation carried out end-to-end by an autonomous AI agent, with no human typing commands or directing individual steps once the attack was underway.

  • CIS Sandbox Tutor Eli Blouin at Bentley University imagines a future technology learning partner that supports curiosity, critical thinking, feedback, and personalized learning.

    Student Voices: Technology as a Future Learning Partner

    A data analytics and marketing major at Bentley University and a distinguished lecturer at the university explore the future of "technology learning partners" — technologies that participate in the learning process by asking questions and giving feedback, not just information search results.

  • Silhouettes of business professionals stand against a blurred futuristic city skyline at night, with a glowing digital network data connection

    It's Time for Higher Ed to Get Serious About AI Strategy

    Without a coordinated strategy that involves multiple academic and administrative units across the entire campus, colleges risk wasting resources, duplicating efforts, and ultimately failing to deliver on the promise of deploying technology to improve learning and operations.

  • Hootsuite

    Beyond the Feed: How Higher Ed Turns Social Media Into a Measurable Enrollment Engine

    More than half of prospective students research programs on social media before visiting a university website, and nearly half will skip applying to a school that looks inactive online. Hootsuite, the all-in-one social OS platform trusted by more than 2,000 higher education institutions, helps campus teams turn everyday posts into measurable outcomes, from applications to alumni giving.