This week's book giveaway is in the OCPJP forum.
We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates 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 OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP 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: 1672
    
    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: 1672
    
    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: 39478
    
  28
Moving to AOP forum.
 
 
subject: After and before Advice Dosent Fire in spring