This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Aspect Oriented Programming and the fly likes After and before Advice Dosent Fire in spring Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Frameworks » Aspect Oriented Programming
Bookmark "After and before Advice Dosent Fire in spring" Watch "After and before Advice Dosent Fire in spring" New topic
Author

After and before Advice Dosent Fire in spring

jatan bhavsar
Ranch Hand

Joined: Jul 23, 2008
Posts: 296

I have made simple application which does the insert ,update and delete and works successfully now i would like to use AOP in the same application but couldnt achieve that.
Advice dosent fire in the web application as well it works properly from the stand alone application.I have add the code for the xml file here.Please help so i can continue learning with the spring..


UserController:



On the edit method Advice will fire.

My DAO Class:


Interface is UserDAO which contains the prototype for the methods.. and Advice class is as follow:


It dosent work in the web application but when i execute it from the stand alone application like:


IT works fine so i am not aware how can i get the "businesslogicbean" (proxyinterface) to execute the Advice it works perfect in stand alone code which i added here.Can somebody guide me how can i solve the problem.
Any alternate solution.

Regards
Jatan
Bill Gorder
Bartender

Joined: Mar 07, 2010
Posts: 1648
    
    7

You are learning from an old example. In newer versions of Spring your controllers should be the annotation based controllers (@Controller) and should not extend any Spring classes. Also the AOP paradigm has shifted and is now much easier than what you are trying to do here. Spring has introduced an AOP configuration namespace for XML and there is also the option of using AspectJ's annotation configuration. Either of these approaches are far easier to work with and less verbose. If I were you I would search for a more up to date example to learn from.

Thanks,


[How To Ask Questions][Read before you PM me]
jaan bhavsar
Ranch Hand

Joined: Aug 23, 2008
Posts: 32
Hi Bill,

Thank you for your kind reply but i am not using annotation in my application.. I will be thankful to you if you can guide me without annotation .

Regards
Jatan
Bill Gorder
Bartender

Joined: Mar 07, 2010
Posts: 1648
    
    7

Well for an over simplified example with XML.

If you hit the controller the service will execute and the before advice will run resulting in the following output:

INFO : com.sample.app.advice.BeforeAdvice - Advice before the service
INFO : com.sample.app.service.SampleServiceImpl - Hello World!

I assume you are using STS, if you are create a new project from the spring-mvc project template that will generate the structure and the jsp and controller and most of the config. I started with this so you could easily reproduce it. I did change the spring version to 3.1.2

Now here is what I put in my root context




servlet-context



My Service interface and implementation




My advice



Controller

Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 38075
    
  22
Moving to AOP forum.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: After and before Advice Dosent Fire in spring
 
Similar Threads
data not persisted using hibernate spring integration
Simple navigation rule
Error: Bean property 'userDAO' is not writable or has an invalid setter method.
Spring - Hiber. Transaction is not working...
Hibernate error with Spring MVC