A
Alberto Sfolcini
Hi,
I am wondering if I can use an annotation to inject property and avoid
to write getters and setters for each property.
Let's suppose my spring's bean looks like:
<bean id="test" class="foo.bar.Test">
<property name="debug" value="true"/>
<property name="firstname" value="Bill" />
<property name="lastname" value="Gates" />
</bean>
The Test class should look like:
public class Test{
private boolean debug;
private String firstname;
private String lastname;
// Setters and getters...
public void setFirstname(String furstname) {
this.firstname = firstname;
}
etc etc...
}
What I would like to obtain is to avoid the setters and getters
methods by using an annotation:
public class Test{
@Inject(name="debug", optional="false")
private boolean debug;
@Inject
private String firstname;
@Inject
private String lastname;
}
So, let's see the @Inject interface:
public @interface Inject {
String name() default "";
boolean optional() default false;
}
Now, what I am missing is the injection engine, that should be written
in a class that extends the ApplicationContext I guess.
Can somebody give some help?
thanks
I am wondering if I can use an annotation to inject property and avoid
to write getters and setters for each property.
Let's suppose my spring's bean looks like:
<bean id="test" class="foo.bar.Test">
<property name="debug" value="true"/>
<property name="firstname" value="Bill" />
<property name="lastname" value="Gates" />
</bean>
The Test class should look like:
public class Test{
private boolean debug;
private String firstname;
private String lastname;
// Setters and getters...
public void setFirstname(String furstname) {
this.firstname = firstname;
}
etc etc...
}
What I would like to obtain is to avoid the setters and getters
methods by using an annotation:
public class Test{
@Inject(name="debug", optional="false")
private boolean debug;
@Inject
private String firstname;
@Inject
private String lastname;
}
So, let's see the @Inject interface:
public @interface Inject {
String name() default "";
boolean optional() default false;
}
Now, what I am missing is the injection engine, that should be written
in a class that extends the ApplicationContext I guess.
Can somebody give some help?
thanks