After active annotations were introduced in Xtend 2.4, they received an API for accessing the file system with version 2.4.3. Active annotations let developers influence the way, Xtend source code is translated to Java source code. With the help of the new file system API, further artifacts like property files or fingerprints and digests can be derived from Xtend sources.
Dagger is a new dependency injection framework for the Android environment. It offers a subset of features of Google Guice (some of the developers work on both projects) but focuses on a lightweight solution in order to offer better performance. Dagger also attempts to report binding errors during compile time instead of run time.
Late last month Google released Guice 3.0, a Java framework that implements the dependency injection (DI) design pattern. The motivation behind Guice was to make it easier for programmers to write DI code by reducing the need to write boilerplate factories. This article examines the new 3.0 features, loks at how Guice 3.0 supports Spring DI, and introduces Guice 4.1 (a.k.a. MiniGuice).
Stephen Colebourne, of Joda Time fame, ignited a small debate when he released Joda Convert: a Java library to convert basic Objects to and from Strings using annotations. InfoQ surveys the options when transforming from one format to another.
Tcat Server, an Apache Tomcat-based application server created by MuleSoft (formerly MuleSource), was released today. InfoQ took the opportunity to talk with Mahau Ma, Greg Schott and Ross Mason of MuleSoft to learn more about Tcat Server and another new integration framework called iBeans.
Dependency injection has been around for a while and there are quite a few frameworks which provide such capabilities for Java applications. Recently Google and SpringSource announced a partnership related to providing dependency injection for Java.
While many think of Aspects for cross-cutting concerns such as transaction management, persistence and role based security, another key value for them has been as an enabler for Annotations for ordinary projects. Using Aspects as a way to implement annotation handlers is a different way to think of them than as the traditional architect's "cross cutting concerns" view.
Rossen Stoyanchev of SpringSource wrote an article for InfoQ about the new features in Spring MVC that are part of Spring 2.5, notably the annotation-based approaches that are informally known as @MVC. These allow Spring MVC applications to be written with simpler annotated POJOs rather than xml-wired implementations of strict interfaces.
Custom annotations are a great way to add common reusable behavior to Java applications. John Heintz from New Aspects discussed at the recent No Fluff Just Stuff (NFJS) Java Symposium, the design techniques for adding behavior to Java Annotations.
Bill Pugh, the creator of FindBugs, is leading the work on JSR-305 which aims to introduce a set of standard annotations for software defect detection.
In this presentation from QCon San Francisco 2007, SpringSource CEO Rod Johnson discusses the Spring Framework. Topics covered include the philosophy behind Spring, configuring the Spring container, XML configuration, new XML configuration namespaces, Annotation-based configuration, automatic component annotation scanning, Spring JavaConfig, mixing configuration types, and Spring 2.5 new features.
A recent thread on Domain Driven Design (DDD) user group discussed the role of Dependency Injection (DI) and Aspect Oriented Programming (AOP) in DDD implementation. InfoQ spoke with Eric Evans and Ramnivas Laddad about these design concepts and the role of Annotations and orchestrated business services in DDD.
A new article on OnJava.com takes a look at configuring Hibernate via annotations. Traditionally developers have either configured Hibernate with XML files separate from Java classes or with XDoclet comments in the Java code with in turn generate XML.
In the ongoing search to find the balance between XML and annotations, TestNG has introduced the concept of annotation transformers. An annotation transformer is code that will override the behavior of existing annotations. This allows you to modify your annotation without using XML and without recompiling your source. You will have to recompile your annotation transformers if you change them.
Bill Pugh, the creator of FindBugs, has submitted JSR-305 Annotations for Software Defect Detection to the Java Community Process. The JSR would attempt to develop a standard set of annotations that could assist defect detection tools. It is supported by parties such as Google, JetBrains, and Doug Lea.