In my training someone asked me whether it is possible to create an object (a Spring Bean) dynamically so you can choose which implementation you want to have in the runtime . So at the compile time you don't know what object actually should be created yet. The application should decide what object to be created based on a property file . 1. We create an annotation so we can mark the method which should be able to create the object dynamically: ... package your.package; ... @Retention(RetentionPolicy.RUNTIME) public @interface InjectDynamicObject { } ... 2. Use the new created annotation in your method which should be able to create the object dynamically: ... @Named("customerBo") public class CustomerBoImpl implements CustomerBo { ... @Override @InjectDynamicObject public Customer getDynamicCustomer() { return this.dynamicCustomer; } ... 3. Write an aspect with Pointcut a...
Let's talk about Model Driven Architecture (MDA), Open Source Software and Java (included Java island)!