Closed
Description
Ramnivas Laddad opened SPR-5920 and commented
Currently, users who extend AbstractInterfaceDrivenDependencyInjectionAspect need to have some knowledge of AspectJ constructs. Specifically, they need to know about the 'declare parents' construct and the pointcut syntax. With the help of generics, we should be able to remove both these issues paving the way for type-safe aspect that requires no/little knowledge of AspectJ.
So instead of:
aspect PricingStrategyDependencyInjectionAspect extends AbstractInterfaceDrivenDependencyInjectionAspect {
private PricingStrategy pricingStrategy;
public pointcut inConfigurableBean() : within(PricingStrategyClient+);
public void configureBean(Object bean) {
((PricingStrategyClient)bean).setPricingStrategy(this.pricingStrategy);
}
declare parents: PricingStrategyClient implements ConfigurableObject;
public void setPricingStrategy(PricingStrategy pricingStrategy) {
this.pricingStrategy = pricingStrategy;
}
}
they can write:
aspect PricingStrategyDependencyInjectionAspect extends GenericInterfaceDrivenDependencyInjectionAspect<PricingStrategyClient> {
private PricingStrategy pricingStrategy;
public void configure(PricingStrategyClient bean) {
bean.setPricingStrategy(pricingStrategy);
}
public void setPricingStrategy(PricingStrategy pricingStrategy) {
this.pricingStrategy = pricingStrategy;
}
}
Affects: 3.0 M3
Referenced from: commits 29139df