This is a different approach from SpringIDE and the like, but here is what I would like to see from a spring plugin:
When I am coding my bean, I would like to hit the command-key shortcut for 'Add Dependency'. This would bring up IDEA's contextual Enter class name: dialog that I could use to specify the interface name of the dependency, say UserDAO.
Then, the plug in would:
1) define a field in the class I am working on of type UserDAO.
2) define a public setter on the field
3) Search for any entries in my application contexts that define a bean of the type that I am working on, and add a property definition:
Code:
<property name="userDao" ref="userDao"/>
If the bean I am working on has subclasses, then:
1) the dependency field would be defined as protected.
2) the plugin would also search for any instances of the subclasses defined in the application contexts, and add property definitions for the subclasses as well.
Furthermore... :wink:
I would like a command key shortcut for Delete Dependency..., an alternative to the Delete... operation, which would remove the field, the setter, and all associated property definitions.
This would be in keeping with the IDEA philosophy of never having to take your hands off the keyboard for common programming tasks, and it would streamline the most disruptive part of the coding process with Spring.
Just some ideas for inspired plugin developers...