Java Reference
In-Depth Information
@Target({ElementType.FIELD, ElementType.PARAMETER })
public @interface Generator {
String value();
Then you can apply this annotation to an @Autowired bean property. It will ask Spring to auto-wire
the bean with this qualifier annotation and the specified value.
package com.apress.springenterpriserecipes.sequence;
import org.springframework.beans.factory.annotation.Autowired;
public class SequenceGenerator {
private PrefixGenerator prefixGenerator;
You have to provide this qualifier to the target bean that you want to be auto-wired into the
preceding property. The qualifier is added by the <qualifier> element with the type attribute. The
qualifier value is specified in the value attribute. The value attribute is mapped to the String value()
attribute of the annotation.
<bean id="datePrefixGenerator"
<qualifier type="Generator" value="prefix" />
<property name="pattern" value="yyyyMMdd" />
Auto-Wiring by Name
If you want to auto-wire bean properties by name, you can annotate a setter method, a constructor, or a
field with the JSR-250 @Resource annotation. By default, Spring will attempt to find a bean with the same
name as this property. But you can specify the bean name explicitly in its name attribute.
Note To use the JSR-250 annotations, you have to include common-annotations.jar (located in the
lib/j2ee directory of the Spring installation) in your classpath. However, if your application is running on
Java SE 6 or Java EE 5, you needn't include this JAR file.
Search WWH ::

Custom Search