I\'m looking for a better understanding of this problem. A workaround is pretty simple, namely move the configuration data to another class that does not have proxies/advic
First of, the notation using the $ is correct, not the #
Now regarding the original poster, I think you have a conflicting behavior between the 2 annotations (@Controller and @Transactional).
Using the @Transactional annotation will proxify your implementation (I guess to detect an error and launch a rollback).
Now you are saying that you see 2 instances of your controller. That should not happen. Normally you should have only a single instance of a controller loaded in memory.
Could be related to your configuration files or due to the presence of @Transactional and its proxy nature?
As a side note, I never use @Transactional in the controllers themselves but either on a method of a service or dao. Since the actual process which can fail and need to be rollbacked is there, and can be access from different controllers/source.
Regards.